Description of problem: On my system with xorg-x11-drv-nvidia (rpmfusion) GLX stopped working after the latest updates which introduce a dependency on libglvnd (Fedora). The problem is that GL code loads /usr/lib64/libGL.so.1 (mesa) instead of /usr/lib64/libglvnd/libGL.so.1 (libglvnd). Version-Release number of selected component (if applicable): libglvnd-0.2.999-4.git295e5e5.fc24.i686 libglvnd-0.2.999-4.git295e5e5.fc24.x86_64 xorg-x11-drv-nvidia-libs-367.57-3.fc24.i686 xorg-x11-drv-nvidia-libs-367.57-3.fc24.x86_64 How reproducible: always Steps to Reproduce: 1. glxinfo (dumps error message about failing driver load of "swrast") 2. ldd $(which glxinfo) 3. Actual results: $ glxinfo name of display: :0 libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast X Error of failed request: GLXBadContext Major opcode of failed request: 153 (GLX) Minor opcode of failed request: 6 (X_GLXIsDirect) Serial number of failed request: 48 Current serial number in output stream: 47 $ ldd $(which glxinfo) linux-vdso.so.1 (....) libGL.so.1 => /usr/lib64/libGL.so.1 (....) $ rpm -qf /usr/lib64/libGL.so.1 mesa-libGL-12.0.3-2.fc24.x86_64 Expected results: $ glxinfo name of display: :0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: NVIDIA Corporation server glx version string: 1.4 .... $ ldd $(which glxinfo) linux-vdso.so.1 (....) libGL.so.1 => /usr/lib64/libglvnd/libGL.so.1 (....) $ rpm -qf /usr/lib64/libglvnd/libGL.so.1 libglvnd-0.2.999-4.git295e5e5.fc24.x86_64 Additional info: I fixed this by adding ld.conf.so.d files for libglvnd: # ls -lht /etc/ld.so.conf.d/libglvnd-lib* -rw-r--r--. 1 root root 20 Nov 5 20:28 /etc/ld.so.conf.d/libglvnd-lib64.conf -rw-r--r--. 1 root root 18 Nov 5 20:28 /etc/ld.so.conf.d/libglvnd-lib.conf # cat /etc/ld.so.conf.d/libglvnd-lib64.conf /usr/lib64/libglvnd # cat /etc/ld.so.conf.d/libglvnd-lib.conf /usr/lib/libglvnd # /sbin/ldconfig After that GLX started to work and I got my X11 login screen back...
https://bugzilla.rpmfusion.org/show_bug.cgi?id=4303#c35 seems to indicate that there should be a symlink /usr/lib64/nvidia/libGL.so.1 => ../libglvnd/libGL.so.1 instead. If that is the correct solution then the bug would be in xorg-x11-drv-nvidia-libs. Hmmm.... # ls -lht /usr/lib64/nvidia/libGL.so.1 ls: cannot access '/usr/lib64/nvidia/libGL.so.1': No such file or directory # rpm -ql xorg-x11-drv-nvidia-libs.x86_64 | fgrep libGL.so.1 /usr/lib64/nvidia/libGL.so.1 # ls -lht /usr/lib/nvidia/libGL.so.1 ls: cannot access '/usr/lib/nvidia/libGL.so.1': No such file or directory # rpm -ql xorg-x11-drv-nvidia-libs.i686 | fgrep libGL.so.1 /usr/lib/nvidia/libGL.so.1 I wonder what went wrong during the package installation...
Problem got fixed by "dnf reinstall xorg-x11-drv-nvidia-libs": # ls -lht /usr/lib/nvidia/libGL.so.1 lrwxrwxrwx. 1 root root 22 Oct 25 17:18 /usr/lib/nvidia/libGL.so.1 -> ../libglvnd/libGL.so.1 # ls -lht /usr/lib64/nvidia/libGL.so.1 lrwxrwxrwx. 1 root root 22 Oct 25 17:18 /usr/lib64/nvidia/libGL.so.1 -> ../libglvnd/libGL.so.1 Can it be that the order of the package install libglvnd, then xorg-x11- drv-nvidia-libs is important for symlinks from the later package to be installed correctly? Closing as NOTABUG
Forgot to add: $ ldd $(which glxinfo) linux-vdso.so.1 (....) libGL.so.1 => /usr/lib64/nvidia/libGL.so.1 (...)