[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: