I have a unusual setup on my desktop, so it is not unexpected that things broke recently, but it seems I need help to get things working again.
My desktop has two GPU, an Intel iGPU and an Nvidia dGPU, both connected to different input of my monitor.
Usually the Nvidia dGPU is claimed by the VFIO module and not available when first starting the graphical environment. When I wanted to start a game or something I would remove VFIO, insert the nvidia module, and start a new X server with a different config and a different LD_LIBRARY_PATH. Everything worked correctly and it was simply a matter of switching inputs on my monitor.
However, since the changes regarding libglvnd, it stopped working. The new XServer opens, but it uses Software rendering (llvmpipe). The path of the nvidia GL libs changed and it seems that even compensating for that, the nvidia libGL refuses to load. Using `xrandr --setprovideroutputsource` results on errors
Here is how I used to load the nVidia XServer:
env LD_LIBRARY_PATH=/usr/lib/nvidia/:/usr/lib32/nvidia/ xinit /usr/bin/openbox -- :1 vt$(fgconsole) -config xorg.nvidia.conf -keeptty -nolisten tcp -noreset -verbose 3
(Since the libglvnd update, the nvidia libs are no longer at that path)
And here is /etc/X11/xorg.nvidia.conf:
Section "ServerFlags" Option "AutoAddGPU" "False" EndSection Section "Files" ModulePath "/usr/lib/nvidia/xorg/modules" ModulePath "/usr/lib/xorg/modules" EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BusID "PCI:1:0:0" Option "ConnectToAcpid" "0" Option "ProbeAllGpus" "false" EndSection
Bumblebee works perfectly, which means that I can start a new Xserver that uses nvidia (actually, these config files where based on the bumblebee X config files and examination of an old bumblebee script), but I would prefer to avoid the overhead of bumblebee since my dGPU has a perfectly working output to my monitor.
Can anyone help me find a solution?
Last edited by Bolche (2017-03-20 23:38:14)
Ok, I solved it myself...
My "ModulePath" was wrong (it is now "/usr/lib/nvidia/xorg/") and I changed the LD_LIBRARY_PATH to "__GLX_VENDOR_LIBRARY_NAME=nvidia". Now it works