Bug#881789: libglvnd: missing libGLX_indirect.so, breaks GLX with remote X server
Package: libglx0
Version: 1.0.0-1
Severity: important
Dear Maintainer,
I'm running testing on a headless system, and a recent change to use
libglxvnd has stopped GLX from working when displayed to a remote
machine. This was working fine before the migration to use glvnd for
libGL/libGLX.
e.g. running glxinfo fails with the following error:
$ glxinfo
name of display: localhost:11.0
Error: couldn't find RGB GLX visual or fbconfig
strace'ing glxinfo shows it trying to load libGLX_indirect.so.0 and
failing:
$ strace -etrace=open glxinfo
....
open("/lib/x86_64-linux-gnu/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
Adding a symlink from libGLX_mesa.so.0 to libGLX_indrect.so.0 makes
things work:
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0 /usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0
$ glxinfo | head
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
name of display: localhost:11.0
display: localhost:11 screen: 0
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_OML_swap_method, GLX_SGIS_multisample,
GLX_SGIX_fbconfig
Looking at the source for glvnd and reading some NVIDIA documentation,
it seems like glvnd is trying to fallback to a generic libGLX_indirect
library if vendor-specific library doesn't exist or GLX_EXT_glvnd is not
present on the remote X server (this is my situation).
However, I can't find libGLX_indirect.so.0 provided by any Debian
packages. It seems like either libglvnd or mesa should provide a symlink
from libGLX_indirect.so.0 to a default GL implementation for these
situations.
I'd provide a patch but I'm not sure what package should be taking care
of this....
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (900, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.12.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
Versions of packages libglx0:amd64 depends on:
ii libc6 2.24-17
ii libglvnd0 1.0.0-1
ii libglx-mesa0 [libglx-vendor] 17.2.4-1+b1
ii libx11-6 2:1.6.4-3
ii libxext6 2:1.3.3-1+b2
libglx0:amd64 recommends no packages.
libglx0:amd64 suggests no packages.
-- no debconf information
Reply to: