Error: couldn't find RGB GLX visual or fbconfig

I have installed my NVIDIA proprietary driver per the Fedora Docs page. glxinfo returns:
Error: couldn't find RGB GLX visual or fbconfig
Looking through my Xorg log I see that it’s not loading the libraries for the proprietary driver:
(II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
The proper location for my driver should be:
/usr/lib64/nvidia-390xx/xorg/
How do I get it to read the right glx modules? I even went into my BIOS and set it to the NVIDIA GPU only so it doesn’t even load the Intel anymore. The nvidia driver is loaded and it’s running I just don’t have GLX or VDPAU support.

1 Like

@t0xic0der any ideas?

2 Likes

I would like the output log of lspci | grep "VGA|3D" to start with. I need to know the reason why legacy drivers are sought.

1 Like
lspci | egrep "VGA|3D"
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [NVS 5400M] (rev a1)

From Xorg.0.log:

grep -i nvidia /var/log/Xorg.0.log
[    15.938] (II) Module glx: vendor="NVIDIA Corporation"
[    15.940] (II) NVIDIA GLX Module  390.132  Fri Nov  1 04:00:46 PDT 2019
[    15.942] (II) Applying OutputClass "nvidia" to /dev/dri/card1
[    15.942] 	loading driver: nvidia
[    16.060] (==) Matched nvidia as autoconfigured driver 0
[    16.060] (II) LoadModule: "nvidia"
[    16.060] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
[    16.071] (II) Module nvidia: vendor="NVIDIA Corporation"
[    16.077] (II) NVIDIA dlloader X Driver  390.132  Fri Nov  1 03:36:28 PDT 2019
[    16.077] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[    16.130] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
[    16.224] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event11)
[    16.225] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event12)
[    16.225] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=8 (/dev/input/event13)
[    16.225] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=9 (/dev/input/event14)

So the proper driver is loading, but the proper libraries are not.

Are you sure you need to resort to the older 390.xx drivers for this card?

Are you using Fedora Workstation or any of the spins?

This is a pretty old machine and from the NVIDIA website the latest available driver for this chip is the 390.
I am using the regular workstation load with Gnome.

Understandable. I will find reproducing the issue but there is little chance of it happening. Here are the things you can try.

  • Check if the prime configuration was set properly. (As in the two lines that you need to add to the NVIDIA X config file)
  • Check the current windowing system. (It should not be Wayland under prime configuration and if Wayland is forced somehow, you need to disable it)
  • This might help, though you are warned that this is picked from the Arch Linux docs but people facing similar problems were able to fix them with this.

I uninstalled the prime/optimus packages and went with a straight NVIDIA install after switching the BIOS ti discrete graphics only. The nvidia graphics card is being used as nvidia-settings shows all the stats for the card. It’s just the glx that’s not getting loaded. The main problem I believe is this:

grep -i glx /var/log/Xorg.0.log
[    15.855] (II) LoadModule: "glx"
[    15.856] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[    15.938] (II) Module glx: vendor="NVIDIA Corporation"
[    15.940] (II) NVIDIA GLX Module  390.132  Fri Nov  1 04:00:46 PDT 2019
[    16.129] (II) Initializing extension GLX
[    16.130] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)

The proper location for the nvidia glx extension is /usr/lib64/nvidia-390xx/xorg/ but so far nothing I add to the config gets it to load from that locaiton. I even added that directory to my ld.so.conf.d.

Maybe I need to static link libglx.so from the xorg directory to the proper nvidia one? But then it’ll probably overwrite it on updates.