I've seen solutions to this problem in other places but which involve
xrandr detecting all graphics cards, but that doesn't happen on my computer, so here goes:
My laptop has an Nvidia GPU and an Intel graphics card. I would like the Nvidia card to be detected and available for CUDA, Tensorflow etc but not used for graphics. This is the hardware:
lspci|grep VGA 00:02.0 VGA compatible controller: Intel Corporation Device 3e9b 01:00.0 VGA compatible controller: NVIDIA Corporation Device 1f10 (rev a1)
hardinfo shows this for Graphics:
-Display- Resolution : 1920x1080 pixels OpenGL Renderer : Mesa DRI Intel(R) UHD Graphics 630 (CFL GT2) X11 Vendor : The X.Org Foundation
so the graphics go via the Intel card.
One of the problems often listed as the cause for the Intel card not seeing the HDMI port is that the port is physically connected to the Nvidia card only, so if the other card is used, HDMI is unreachable. With
xrandr I only see the laptop screen so I am assuming that that is the case for me.
I tried to find out if that is the case on my system so that I can use
xrandr --setprovideroffloadsink to render on the Intel then send to the HDMI via the Nvidia. But
xrandr --listproviders Providers: number : 1 Provider 0: id: 0x43 cap: 0x9, Source Output, Sink Offload crtcs: 3 outputs: 1 associated providers: 0 name:modesetting
where in the examples I could find this would give two cards (named Nvidia and Intel or similar) I have no idea what to do with this?