Debian12, package
nvidia-alternative: allows the selection of NVIDIA as GLX provider
nvidia-alternative package has not been updated in a while;
attempting to install the latest 560.35 version of nvidia-alternative will trigger almost complete removal of nvidia-driver/nvidia-open-575.57.08 via required install of nvidia-installer-cleanup dependency.
consequently, following directories are missing required files, symlinks and/or sub-directories:
/etc/alternatives/
/etc/alternatives/glx
/etc/nvidia/
/usr/lib/nvidia/
/usr/lib/nvidia/current
as a result, gpus canāt be fully utilized via nvidia driver by a number of applications (games only) that depend on MESA/openGL, and all of them fallback onto llvmpipe driver.
system in current state:
update-glx --config nvidia
update-alternatives: error: no alternatives for nvidia
more info about related installed packages:
update-glx (installed)
glx-diversions (installed)
glx-alternative-nvidia (installed)
libglx-nvidia0 (installed)
libnvidia-glcore (installed)
libnvidia-cfg1 (installed)
ibnvidia-ngx1 (installed)
libnvidia-ngx1 (installed)
libnvidia-allocator1 (installed)
from what eye can see in the /etc/alternatives, following symlinks exist:
glx -> /usr/lib/nvidia (directory)
glx--libEGL.so.1-i386-linux-gnu -> /usr/lib/mesa-diverted/i386-linux-gnu/libEGL.so.1
glx--libEGL.so.1-x86_64-linux-gnu -> /usr/lib/mesa-diverted/x86_64-linux-gnu/libEGL.so.1
and so on.
what is missing in /etc/alternatives are the following (presumably created via nvidia-alternative package?):
nvidia -> /usr/lib/nvidia/current (directory)
nvidia--libcudadebugger.so.1-x86_64-linux-gnu
nvidia--libcudadebugger.so.1-x86_64-linux-gnu -> /usr/lib/x86_64-linux-gnu/nvidia/current/libcudadebugger.so.1
nvidia--libcuda.so.1-x86_64-linux-gnu -> /usr/lib/x86_64-linux-gnu/nvidia/current/libcuda.so.1
nvidia--libcuda.so-x86_64-linux-gnu -> /usr/lib/x86_64-linux-gnu/nvidia/current/libcuda.so
nvidia--libEGL_nvidia.so.0-x86_64-linux-gnu -> /usr/lib/x86_64-linux-gnu/nvidia/current/libEGL_nvidia.so.0
nvidia--libGLX_nvidia.so.0-x86_64-linux-gnu -> /usr/lib/x86_64-linux-gnu/nvidia/current/libGLX_nvidia.so.0
and so on.