- Package:
- update-glx
- Source:
- glx-alternatives
- Submitter:
- Christophe Trophime
- Date:
- 2022-03-25 15:57:03 UTC
- Severity:
- normal
Dear Maintainer, I've setup my debian Testing to use nvidia driver 470.103.01. The system is setup to use nvidia drive: update-glx --config glx However running update-glx --query glx reports: Name: glx Link: /usr/lib/glx Slaves: glx--libEGL.so.1-x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libEGL.so.1 glx--libGL.so.1-x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libGL.so.1 glx--libGLESv1_CM.so.1-x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1 glx--libGLESv2.so.2-x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libGLESv2.so.2 glx--libGLX_indirect.so.0-x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0 glx--libglxserver_nvidia.so /usr/lib/xorg/modules/extensions/libglxserver_nvidia.so glx--libnvidia-cfg.so.1-x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libnvidia-cfg.so.1 glx--nvidia-blacklists-nouveau.conf /etc/modprobe.d/nvidia-blacklists-nouveau.conf glx--nvidia-bug-report.sh /usr/bin/nvidia-bug-report.sh glx--nvidia-drm-outputclass.conf /usr/share/X11/xorg.conf.d/nvidia-drm-outputclass.conf glx--nvidia-load.conf /etc/modules-load.d/nvidia.conf glx--nvidia-modprobe.conf /etc/modprobe.d/nvidia.conf glx--nvidia_drv.so /usr/lib/xorg/modules/drivers/nvidia_drv.so Status: auto Best: /usr/lib/nvidia Value: /usr/lib/nvidia Alternative: /usr/lib/mesa-diverted Priority: 5 Slaves: glx--libEGL.so.1-x86_64-linux-gnu /usr/lib/mesa-diverted/x86_64-linux-gnu/libEGL.so.1 glx--libGL.so.1-x86_64-linux-gnu /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1 glx--libGLESv1_CM.so.1-x86_64-linux-gnu /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so.1 glx--libGLESv2.so.2-x86_64-linux-gnu /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so.2 glx--libGLX_indirect.so.0-x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0 Alternative: /usr/lib/nvidia Priority: 100 Slaves: glx--libEGL.so.1-x86_64-linux-gnu /usr/lib/mesa-diverted/x86_64-linux-gnu/libEGL.so.1 glx--libGL.so.1-x86_64-linux-gnu /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1 glx--libGLESv1_CM.so.1-x86_64-linux-gnu /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so.1 glx--libGLESv2.so.2-x86_64-linux-gnu /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so.2 glx--libGLX_indirect.so.0-x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0 glx--libglxserver_nvidia.so /usr/lib/nvidia/libglxserver_nvidia.so glx--libnvidia-cfg.so.1-x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/nvidia/libnvidia-cfg.so.1 glx--nvidia-blacklists-nouveau.conf /etc/nvidia/nvidia-blacklists-nouveau.conf glx--nvidia-bug-report.sh /usr/lib/nvidia/nvidia-bug-report.sh glx--nvidia-drm-outputclass.conf /etc/nvidia/nvidia-drm-outputclass.conf glx--nvidia-load.conf /etc/nvidia/nvidia-load.conf glx--nvidia-modprobe.conf /etc/nvidia/nvidia-modprobe.conf glx--nvidia_drv.so /usr/lib/nvidia/nvidia_drv.so Why on earth, glx--libEGL.so.1-x86_64-linux-gnu points to mesa-diverted?? Running glxinfo I can confirm that I'm using Nvidia driver (even if glx--libGL.so.1-x86_64-linux-gnu points to mesa-diverted). But running eglinfo clearly states that I'm using mesa driver. I have trouble running singularity container for some paraview app when using --nv for preloading nvidia driver I suspect that my problem is linked with these "wrong" links Can you please confirm or infirm my statements? Best C
MESA and modern NVIDIA drivers (starting after the 418 series) use
libglvnd to provide generic loader libraries libGL.so.1, libEGL.so.1,
... while MESA and NVIDIA only provide some implementations:
libGLX_${VENDOR}.so.0, libEGL_${VENDOR}.so.0, ...
(NVIDIA still ships GLVND builds of (loader) libGL.so.1 etc., but we use
them from src:libglvnd.)
The name "mesa-diverted" is misleading nowadays since it actually
contains diverted libglvnd libraries ... this won't be fixed, because
once all the NVIDIA drivers predating GLVND usage reach EoL (Tesla 418
in 03/2022 and legacy 390 in 12/2022), i.e. once there are no longer
NVIDIA-specific libGL.so.1 etc. we can simplify the diversion and
alternatives setup for bookworm, since most things done can now be
solved by libglvnd.
As expected.
That's the point we need to look into.
Luca, can you confirm that eglinfo should report something
"NVIDIA-specific" or is that a red herring?
Christophe, you should have something like these libraries
related to EGL installed:
ii libegl-mesa0:amd64 21.3.7-1 amd64 free implementation of the EGL API -- Mesa vendor library
ii libegl-nvidia0:amd64 470.103.01-3 amd64 NVIDIA binary EGL library
ii libegl1:amd64 1.4.0-1 amd64 Vendor neutral GL dispatch library -- EGL support
ii libnvidia-egl-wayland1:amd64 1:1.1.9-1.1 amd64 Wayland EGL External Platform library -- shared library
ii libnvidia-eglcore:amd64 470.103.01-3 amd64 NVIDIA binary EGL core libraries
ii libwayland-egl1:amd64 1.20.0-1 amd64 wayland compositor infrastructure - EGL library
ii nvidia-egl-common 470.103.01-3 amd64 NVIDIA binary EGL driver - common files
ii nvidia-egl-icd:amd64 470.103.01-3 amd64 NVIDIA EGL installable client driver (ICD)
Please send the configuration of the nvidia alternative, too:
update-glx --display nvidia
(the bug script should probably collect that as well ...)
Andreas
Hi, Andreas thanks for your explanations. This is more clear now. nvidia - auto mode link best version is /usr/lib/nvidia/current link currently points to /usr/lib/nvidia/current link nvidia is /usr/lib/nvidia/nvidia slave nvidia--libEGL_nvidia.so.0-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libEGL_nvidia.so.0 slave nvidia--libGLESv1_CM_nvidia.so.1-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libGLESv1_CM_nvidia.so.1 slave nvidia--libGLESv2_nvidia.so.2-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libGLESv2_nvidia.so.2 slave nvidia--libGLX_nvidia.so.0-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0 slave nvidia--libcuda.so-i386-linux-gnu is /usr/lib/i386-linux-gnu/libcuda.so slave nvidia--libcuda.so-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libcuda.so slave nvidia--libcuda.so.1-i386-linux-gnu is /usr/lib/i386-linux-gnu/libcuda.so.1 slave nvidia--libcuda.so.1-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libcuda.so.1 slave nvidia--libglxserver_nvidia.so is /usr/lib/nvidia/libglxserver_nvidia.so slave nvidia--libnvcuvid.so-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libnvcuvid.so slave nvidia--libnvcuvid.so.1-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libnvcuvid.so.1 slave nvidia--libnvidia-cfg.so.1-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/nvidia/libnvidia-cfg.so.1 slave nvidia--libnvidia-encode.so.1-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libnvidia-encode.so.1 slave nvidia--libnvidia-ml.so-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libnvidia-ml.so slave nvidia--libnvidia-ml.so.1-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1 slave nvidia--libnvidia-ptxjitcompiler.so.1-i386-linux-gnu is /usr/lib/i386-linux-gnu/libnvidia-ptxjitcompiler.so.1 slave nvidia--libnvidia-ptxjitcompiler.so.1-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/libnvidia-ptxjitcompiler.so.1 slave nvidia--libvdpau_nvidia.so.1-x86_64-linux-gnu is /usr/lib/x86_64-linux-gnu/vdpau/libvdpau_nvidia.so.1 slave nvidia--nv-control-dpy is /usr/bin/nv-control-dpy slave nvidia--nvidia-application-profiles-key-documentation is /usr/share/nvidia/nvidia-application-profiles-key-documentation slave nvidia--nvidia-blacklists-nouveau.conf is /etc/nvidia/nvidia-blacklists-nouveau.conf slave nvidia--nvidia-bug-report.sh is /usr/lib/nvidia/nvidia-bug-report.sh slave nvidia--nvidia-debugdump is /usr/bin/nvidia-debugdump slave nvidia--nvidia-drm-outputclass.conf is /etc/nvidia/nvidia-drm-outputclass.conf slave nvidia--nvidia-load.conf is /etc/nvidia/nvidia-load.conf slave nvidia--nvidia-modprobe.conf is /etc/nvidia/nvidia-modprobe.conf slave nvidia--nvidia-options.conf is /etc/modprobe.d/nvidia-options.conf slave nvidia--nvidia-settings is /usr/bin/nvidia-settings slave nvidia--nvidia-settings.1.gz is /usr/share/man/man1/nvidia-settings.1.gz slave nvidia--nvidia-settings.desktop is /usr/share/applications/nvidia-settings.desktop slave nvidia--nvidia-smi is /usr/bin/nvidia-smi slave nvidia--nvidia-smi.1.gz is /usr/share/man/man1/nvidia-smi.1.gz slave nvidia--nvidia_drv.so is /usr/lib/nvidia/nvidia_drv.so /usr/lib/nvidia/current - priority 470 slave nvidia--libEGL_nvidia.so.0-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libEGL_nvidia.so.0 slave nvidia--libGLESv1_CM_nvidia.so.1-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libGLESv1_CM_nvidia.so.1 slave nvidia--libGLESv2_nvidia.so.2-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libGLESv2_nvidia.so.2 slave nvidia--libGLX_nvidia.so.0-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libGLX_nvidia.so.0 slave nvidia--libcuda.so-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/current/libcuda.so slave nvidia--libcuda.so-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libcuda.so slave nvidia--libcuda.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/current/libcuda.so.1 slave nvidia--libcuda.so.1-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libcuda.so.1 slave nvidia--libglxserver_nvidia.so: /usr/lib/nvidia/current/libglxserver_nvidia.so slave nvidia--libnvcuvid.so-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libnvcuvid.so slave nvidia--libnvcuvid.so.1-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libnvcuvid.so.1 slave nvidia--libnvidia-cfg.so.1-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libnvidia-cfg.so.1 slave nvidia--libnvidia-encode.so.1-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libnvidia-encode.so.1 slave nvidia--libnvidia-ml.so-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libnvidia-ml.so slave nvidia--libnvidia-ml.so.1-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libnvidia-ml.so.1 slave nvidia--libnvidia-ptxjitcompiler.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/current/libnvidia-ptxjitcompiler.so.1 slave nvidia--libnvidia-ptxjitcompiler.so.1-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libnvidia-ptxjitcompiler.so.1 slave nvidia--libvdpau_nvidia.so.1-x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/nvidia/current/libvdpau_nvidia.so.1 slave nvidia--nv-control-dpy: /usr/lib/nvidia/current/nv-control-dpy slave nvidia--nvidia-application-profiles-key-documentation: /usr/share/nvidia/nvidia-application-profiles-470.103.01-key-documentation slave nvidia--nvidia-blacklists-nouveau.conf: /etc/nvidia/current/nvidia-blacklists-nouveau.conf slave nvidia--nvidia-bug-report.sh: /usr/lib/nvidia/current/nvidia-bug-report.sh slave nvidia--nvidia-debugdump: /usr/lib/nvidia/current/nvidia-debugdump slave nvidia--nvidia-drm-outputclass.conf: /etc/nvidia/current/nvidia-drm-outputclass.conf slave nvidia--nvidia-load.conf: /etc/nvidia/current/nvidia-load.conf slave nvidia--nvidia-modprobe.conf: /etc/nvidia/current/nvidia-modprobe.conf slave nvidia--nvidia-options.conf: /etc/nvidia/current/nvidia-options.conf slave nvidia--nvidia-settings: /usr/lib/nvidia/current/nvidia-settings slave nvidia--nvidia-settings.1.gz: /usr/lib/nvidia/current/nvidia-settings.1.gz slave nvidia--nvidia-settings.desktop: /usr/lib/nvidia/current/nvidia-settings.desktop slave nvidia--nvidia-smi: /usr/lib/nvidia/current/nvidia-smi slave nvidia--nvidia-smi.1.gz: /usr/lib/nvidia/current/nvidia-smi.1.gz slave nvidia--nvidia_drv.so: /usr/lib/nvidia/current/nvidia_drv.so
Thanks. I'm not sure whether this will yield helpful debug information, but you could run strace --trace=/open eglinfo to get a list of all files opened when running eglinfo. This should at least show whether nvidia libraries are being tried ... Andreas
----- Original Message ----- I attached the output as eglinfo.log Indeed it seems that it tried some nvidia libs