Bug#867188: glx-alternative-nvidia: libEGL.so and libEGL.so.1 point to different libraries

Aleksandr Mezin mezin.alexander at gmail.com
Tue Jul 4 15:36:19 UTC 2017


Package: glx-alternative-nvidia
Version: 0.7.4
Severity: normal

Dear Maintainer,

On my system /usr/lib/x86_64-linux-gnu/libEGL.so and /usr/lib/x86_64-linux-
gnu/libEGL.so.1 point to different libraries:
/usr/lib/x86_64-linux-gnu/libEGL.so -> /etc/alternatives/glx--
libEGL.so-x86_64-linux-gnu -> /usr/lib/mesa-diverted/x86_64-linux-gnu/libEGL.so
/usr/lib/x86_64-linux-gnu/libEGL.so.1 -> /etc/alternatives/glx--
libEGL.so.1-x86_64-linux-gnu -> /usr/lib/x86_64-linux-gnu/nvidia/libEGL.so.1

The same is true for libGL:
/etc/alternatives/glx--libGL.so-x86_64-linux-gnu -> /usr/lib/mesa-
diverted/x86_64-linux-gnu/libGL.so
/etc/alternatives/glx--libGL.so.1-x86_64-linux-gnu -> /usr/lib/x86_64-linux-
gnu/nvidia/libGL.so.1

and libGLESv2:
/etc/alternatives/glx--libGLESv2.so.2-x86_64-linux-gnu ->
/usr/lib/x86_64-linux-gnu/nvidia/libGLESv2.so.2
/etc/alternatives/glx--libGLESv2.so-x86_64-linux-gnu -> /usr/lib/mesa-
diverted/x86_64-linux-gnu/libGLESv2.so

So applications that try to dlopen() libEGL.so, libGL.so, or libGLESv2.so load
wrong library and fall back to slow softpipe.

update-glx is in "automatic" mode, 0 = /usr/lib/nvidia:

$ sudo update-glx --config glx
There are 3 choices for the alternative glx (providing /usr/lib/glx).

  Selection    Path                       Priority   Status
------------------------------------------------------------
* 0            /usr/lib/nvidia             100       auto mode
  1            /usr/lib/mesa-diverted      5         manual mode
  2            /usr/lib/nvidia             100       manual mode
  3            /usr/lib/nvidia/bumblebee   95        manual mode



-- Package-specific info:
Diversions:
diversion of /usr/lib/arm-linux-gnueabihf/libGL.so to /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGL.so.1 to /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so.1 by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGL.so.1.2 to /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so.1.2 by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGL.so.1.2.0 to /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so.1.2.0 by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so to /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv1_CM.so by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1 to /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv1_CM.so.1 by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1.1.0 to /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv1_CM.so.1.1.0 by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGLESv2.so to /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv2.so by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 to /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv2.so.2 by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0 to /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv2.so.2.0.0 by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGL.so to /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGL.so.1.2 to /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1.2 by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGL.so.1.2.0 to /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1.2.0 by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGLESv1_CM.so to /usr/lib/mesa-diverted/i386-linux-gnu/libGLESv1_CM.so by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGLESv1_CM.so.1 to /usr/lib/mesa-diverted/i386-linux-gnu/libGLESv1_CM.so.1 by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGLESv1_CM.so.1.1.0 to /usr/lib/mesa-diverted/i386-linux-gnu/libGLESv1_CM.so.1.1.0 by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGLESv2.so to /usr/lib/mesa-diverted/i386-linux-gnu/libGLESv2.so by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGLESv2.so.2 to /usr/lib/mesa-diverted/i386-linux-gnu/libGLESv2.so.2 by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGLESv2.so.2.0.0 to /usr/lib/mesa-diverted/i386-linux-gnu/libGLESv2.so.2.0.0 by glx-diversions
diversion of /usr/lib/libGL.so to /usr/lib/mesa-diverted/libGL.so by glx-diversions
diversion of /usr/lib/libGL.so.1 to /usr/lib/mesa-diverted/libGL.so.1 by glx-diversions
diversion of /usr/lib/libGL.so.1.2 to /usr/lib/mesa-diverted/libGL.so.1.2 by glx-diversions
diversion of /usr/lib/libGL.so.1.2.0 to /usr/lib/mesa-diverted/libGL.so.1.2.0 by glx-diversions
diversion of /usr/lib/libGLESv1_CM.so to /usr/lib/mesa-diverted/libGLESv1_CM.so by glx-diversions
diversion of /usr/lib/libGLESv1_CM.so.1 to /usr/lib/mesa-diverted/libGLESv1_CM.so.1 by glx-diversions
diversion of /usr/lib/libGLESv1_CM.so.1.1.0 to /usr/lib/mesa-diverted/libGLESv1_CM.so.1.1.0 by glx-diversions
diversion of /usr/lib/libGLESv2.so to /usr/lib/mesa-diverted/libGLESv2.so by glx-diversions
diversion of /usr/lib/libGLESv2.so.2 to /usr/lib/mesa-diverted/libGLESv2.so.2 by glx-diversions
diversion of /usr/lib/libGLESv2.so.2.0.0 to /usr/lib/mesa-diverted/libGLESv2.so.2.0.0 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGL.so to /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1.2 to /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1.2 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0 to /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1.2.0 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so to /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1 to /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so.1 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1.1.0 to /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so.1.1.0 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGLESv2.so to /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGLESv2.so.2 to /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so.2 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0 to /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so.2.0.0 by glx-diversions

/usr/lib/mesa-diverted:
total 28
drwxr-xr-x   5 root root  4096 Jul  3 20:14 .
drwxr-xr-x 140 root root 12288 Jun 30 17:57 ..
drwxr-xr-x   2 root root  4096 Oct  9  2016 arm-linux-gnueabihf
drwxr-xr-x   2 root root  4096 Oct  9  2016 i386-linux-gnu
lrwxrwxrwx   1 root root    33 Jul  3 20:14 libGL.so-master -> /etc/alternatives/libGL.so-master
drwxr-xr-x   2 root root  4096 Jul  3 20:14 x86_64-linux-gnu

/usr/lib/mesa-diverted/i386-linux-gnu/:
total 8
drwxr-xr-x 2 root root 4096 Oct  9  2016 .
drwxr-xr-x 5 root root 4096 Jul  3 20:14 ..

/usr/lib/mesa-diverted/x86_64-linux-gnu/:
total 736
drwxr-xr-x 2 root root   4096 Jul  3 20:14 .
drwxr-xr-x 5 root root   4096 Jul  3 20:14 ..
lrwxrwxrwx 1 root root     15 Apr 26 03:28 libEGL.so -> libEGL.so.1.0.0
lrwxrwxrwx 1 root root     15 Apr 26 03:28 libEGL.so.1 -> libEGL.so.1.0.0
-rw-r--r-- 1 root root 214816 Apr 26 03:28 libEGL.so.1.0.0
lrwxrwxrwx 1 root root     14 Apr 26 03:28 libGL.so -> libGL.so.1.2.0
lrwxrwxrwx 1 root root     14 Apr 26 03:28 libGL.so.1 -> libGL.so.1.2.0
-rw-r--r-- 1 root root 463424 Apr 26 03:28 libGL.so.1.2.0
lrwxrwxrwx 1 root root     21 Apr 26 03:28 libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1.0
-rw-r--r-- 1 root root  18208 Apr 26 03:28 libGLESv1_CM.so.1.1.0
lrwxrwxrwx 1 root root     18 Apr 26 03:28 libGLESv2.so -> libGLESv2.so.2.0.0
lrwxrwxrwx 1 root root     18 Apr 26 03:28 libGLESv2.so.2 -> libGLESv2.so.2.0.0
-rw-r--r-- 1 root root  38688 Apr 26 03:28 libGLESv2.so.2.0.0

Alternative 'glx':
glx - auto mode
  link best version is /usr/lib/nvidia
  link currently points to /usr/lib/nvidia
  link glx is /usr/lib/glx
  slave glx--libEGL.so.1-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libEGL.so.1
  slave glx--libGL.so.1-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libGL.so.1
  slave glx--libGLESv1_CM.so.1-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1
  slave glx--libGLESv2.so.2-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libGLESv2.so.2
  slave glx--libnvidia-cfg.so.1-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libnvidia-cfg.so.1
  slave glx--linux-libglx.so is /usr/lib/xorg/modules/linux/libglx.so
  slave glx--nvidia-blacklists-nouveau.conf is /etc/modprobe.d/nvidia-blacklists-nouveau.conf
  slave glx--nvidia-bug-report.sh is /usr/bin/nvidia-bug-report.sh
  slave glx--nvidia-drm-outputclass.conf is /usr/share/X11/xorg.conf.d/nvidia-drm-outputclass.conf
  slave glx--nvidia-load.conf is /etc/modules-load.d/nvidia.conf
  slave glx--nvidia-modprobe.conf is /etc/modprobe.d/nvidia.conf
  slave glx--nvidia_drv.so is /usr/lib/xorg/modules/drivers/nvidia_drv.so
/usr/lib/mesa-diverted - priority 5
  slave glx--libEGL.so.1-x86_64-linux-gnu: /usr/lib/mesa-diverted/x86_64-linux-gnu/libEGL.so.1
  slave glx--libGL.so.1-x86_64-linux-gnu: /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1
  slave glx--libGLESv1_CM.so.1-x86_64-linux-gnu: /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so.1
  slave glx--libGLESv2.so.2-x86_64-linux-gnu: /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so.2
/usr/lib/nvidia - priority 100
  slave glx--libEGL.so.1-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/libEGL.so.1
  slave glx--libGL.so.1-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1
  slave glx--libGLESv1_CM.so.1-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/libGLESv1_CM.so.1
  slave glx--libGLESv2.so.2-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/libGLESv2.so.2
  slave glx--libnvidia-cfg.so.1-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/libnvidia-cfg.so.1
  slave glx--linux-libglx.so: /usr/lib/nvidia/libglx.so
  slave glx--nvidia-blacklists-nouveau.conf: /etc/nvidia/nvidia-blacklists-nouveau.conf
  slave glx--nvidia-bug-report.sh: /usr/lib/nvidia/nvidia-bug-report.sh
  slave glx--nvidia-drm-outputclass.conf: /etc/nvidia/nvidia-drm-outputclass.conf
  slave glx--nvidia-load.conf: /etc/nvidia/nvidia-load.conf
  slave glx--nvidia-modprobe.conf: /etc/nvidia/nvidia-modprobe.conf
  slave glx--nvidia_drv.so: /usr/lib/nvidia/nvidia_drv.so
/usr/lib/nvidia/bumblebee - priority 95
  slave glx--libEGL.so.1-x86_64-linux-gnu: /usr/lib/mesa-diverted/x86_64-linux-gnu/libEGL.so.1
  slave glx--libGL.so.1-x86_64-linux-gnu: /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1
  slave glx--libGLESv1_CM.so.1-x86_64-linux-gnu: /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so.1
  slave glx--libGLESv2.so.2-x86_64-linux-gnu: /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so.2
  slave glx--nvidia-blacklists-nouveau.conf: /etc/nvidia/nvidia-blacklists-nouveau.conf
  slave glx--nvidia-bug-report.sh: /usr/lib/nvidia/nvidia-bug-report.sh
  slave glx--nvidia-modprobe.conf: /etc/nvidia/nvidia-modprobe.conf

lrwxrwxrwx 1 root root 15 Jun 29 19:16 /etc/alternatives/glx -> /usr/lib/nvidia
lrwxrwxrwx 1 root root 49 Jul  3 20:14 /etc/alternatives/glx--libEGL.so-x86_64-linux-gnu -> /usr/lib/mesa-diverted/x86_64-linux-gnu/libEGL.so
lrwxrwxrwx 1 root root 44 Jun 29 19:16 /etc/alternatives/glx--libEGL.so.1-x86_64-linux-gnu -> /usr/lib/x86_64-linux-gnu/nvidia/libEGL.so.1
lrwxrwxrwx 1 root root 48 Jul  3 20:14 /etc/alternatives/glx--libGL.so-x86_64-linux-gnu -> /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so
lrwxrwxrwx 1 root root 43 Jun 29 19:16 /etc/alternatives/glx--libGL.so.1-x86_64-linux-gnu -> /usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1
lrwxrwxrwx 1 root root 50 Jun 29 19:16 /etc/alternatives/glx--libGLESv1_CM.so.1-x86_64-linux-gnu -> /usr/lib/x86_64-linux-gnu/nvidia/libGLESv1_CM.so.1
lrwxrwxrwx 1 root root 52 Jul  3 20:14 /etc/alternatives/glx--libGLESv2.so-x86_64-linux-gnu -> /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so
lrwxrwxrwx 1 root root 47 Jun 29 19:16 /etc/alternatives/glx--libGLESv2.so.2-x86_64-linux-gnu -> /usr/lib/x86_64-linux-gnu/nvidia/libGLESv2.so.2
lrwxrwxrwx 1 root root 51 Jun 29 19:16 /etc/alternatives/glx--libnvidia-cfg.so.1-x86_64-linux-gnu -> /usr/lib/x86_64-linux-gnu/nvidia/libnvidia-cfg.so.1
lrwxrwxrwx 1 root root 25 Jun 29 19:16 /etc/alternatives/glx--linux-libglx.so -> /usr/lib/nvidia/libglx.so
lrwxrwxrwx 1 root root 42 Jun 29 19:16 /etc/alternatives/glx--nvidia-blacklists-nouveau.conf -> /etc/nvidia/nvidia-blacklists-nouveau.conf
lrwxrwxrwx 1 root root 36 Jun 29 19:16 /etc/alternatives/glx--nvidia-bug-report.sh -> /usr/lib/nvidia/nvidia-bug-report.sh
lrwxrwxrwx 1 root root 39 Jun 29 19:16 /etc/alternatives/glx--nvidia-drm-outputclass.conf -> /etc/nvidia/nvidia-drm-outputclass.conf
lrwxrwxrwx 1 root root 28 Jun 29 19:16 /etc/alternatives/glx--nvidia-load.conf -> /etc/nvidia/nvidia-load.conf
lrwxrwxrwx 1 root root 32 Jun 29 19:16 /etc/alternatives/glx--nvidia-modprobe.conf -> /etc/nvidia/nvidia-modprobe.conf
lrwxrwxrwx 1 root root 29 Jun 29 19:16 /etc/alternatives/glx--nvidia_drv.so -> /usr/lib/nvidia/nvidia_drv.so

File System:
lrwxrwxrwx 1 root root     21 Jun 29 19:11 /usr/lib/glx -> /etc/alternatives/glx
lrwxrwxrwx 1 root root     48 Jul  3 20:14 /usr/lib/x86_64-linux-gnu/libGL.so -> /etc/alternatives/glx--libGL.so-x86_64-linux-gnu
lrwxrwxrwx 1 root root     50 Jun 29 19:11 /usr/lib/x86_64-linux-gnu/libGL.so.1 -> /etc/alternatives/glx--libGL.so.1-x86_64-linux-gnu
-rw-r--r-- 1 root root 290000 Mar  3 20:41 /usr/lib/xorg/modules/extensions/libglx.so


-- System Information:
Debian Release: 9.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-3-amd64 (SMP w/8 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8), LANGUAGE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages glx-alternative-nvidia depends on:
ii  glx-alternative-mesa  0.7.4
ii  glx-diversions        0.7.4
ii  update-glx            0.7.4

glx-alternative-nvidia recommends no packages.

Versions of packages glx-alternative-nvidia suggests:
ii  nvidia-driver  375.66-1

Versions of packages glx-diversions depends on:
ii  dpkg                      1.18.24
ii  glx-alternative-mesa      0.7.4
ii  nvidia-installer-cleanup  20151021+4

Versions of packages glx-alternative-nvidia is related to:
pn  glx-alternative-fglrx                                      <none>
ii  glx-alternative-mesa                                       0.7.4
ii  glx-alternative-nvidia                                     0.7.4
pn  libgl1-dev                                                 <none>
ii  libgl1-mesa-glx [libgl1]                                   13.0.6-1+b2
ii  libgl1-nvidia-glvnd-glx [libgl1-nvidia-glx-any]            375.66-1
ii  nvidia-driver [nvidia-glx-any]                             375.66-1
ii  xserver-xorg-video-nvidia [xserver-xorg-video-nvidia-any]  375.66-1

-- no debconf information



More information about the pkg-nvidia-devel mailing list