La extensión GLX no funciona correctamente con xvfb


15

Tengo un sistema Ubuntu 14.04 con los siguientes paquetes instalados:

libegl1-mesa:amd64
libegl1-mesa-drivers:amd64
libgl1-mesa-dri:amd64
libgl1-mesa-dri:i386
libgl1-mesa-glx:amd64
libgl1-mesa-glx:i386
libglapi-mesa:amd64
libglapi-mesa:i386
libgles2-mesa:amd64
libglu1-mesa:amd64
libopenvg1-mesa:amd64
libwayland-egl1-mesa:amd64
mesa-utils
xvfb

Quiero iniciar una aplicación en xvfb. Primero comienzo xvfb con:

$ Xvfb :1 -screen 0 1024x768x24 +extension GLX +render -noreset >> xsession.log 2>&1 &

y luego verifique el archivo de registro xvfb:

Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension SECURITY
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension Present
Initializing built-in extension DRI3
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension SELinux
Initializing built-in extension GLX

que no muestra errores Además, parece que GLX se ha cargado correctamente. Ahora, si reviso el servidor con

$ glxinfo -display :1

yo obtengo

name of display: :1
Xlib:  extension "GLX" missing on display ":1".
...
Error: couldn't find RGB GLX visual or fbconfig
Xlib:  extension "GLX" missing on display ":1".
...
Error: couldn't find RGB GLX visual or fbconfig

Xlib:  extension "GLX" missing on display ":1".
...

De hecho, la aplicación que quiero iniciar en este servidor y que necesita GLX no se iniciará.

Después de revisar varias páginas de documentación y foros, no tengo idea de lo que está sucediendo aquí. ¿Por qué el archivo de registro del servidor X no muestra ningún error si la extensión GLX no se cargó correctamente? ¿Hay algo que deba verificar?


En la página wiki [1] de Xvfb dice: "A diferencia de un servidor de visualización real, Xvfb no admite extensiones X11 modernas como la composición, Randr o GLX. Xdummy es una alternativa más nueva que admite estas extensiones y proporciona la misma funcionalidad que Xvfb ". [1] en.wikipedia.org/wiki/Xvfb
alpert

@alpertek deberías publicar eso como respuesta. GLX generalmente necesita un controlador específico de chip para ser útil.
XTL

3
Los comentarios anteriores no son correctos. Utilizamos GLX en Xvfb durante varios años en el conjunto de pruebas OpenSCAD. bugzilla.redhat.com/show_bug.cgi?id=904851
don bright

Bueno, ese comentario en wiki fue eliminado mientras tanto. en.wikipedia.org/w/…
Vladimír Čunát

Respuestas:


2

Xvfb (X virtual Frame buffer) es un Xsever virtual que no admite aceleración de hardware real.

Necesita generar llamadas openGL, con virtualGL , bifurcar las llamadas reales a través de un servidor X 3D real y renderizado 2D a Xvfb u otro servidor X 2D.

$ Xvfb :1 -screen 0 1024x768x24 +extension GLX +render -noreset >> xsession.log 2>&1 &
$ env DISPLAY=:1 vglrun glxinfo 

Si bien no es compatible con la aceleración de hardware real, es compatible con Mesa (software GLX) muy bien, lo comprobé hace algún tiempo (aún en 2018). Por lo tanto, no necesita usar un servidor X 3D real, aunque, por supuesto, es una opción.
dirkt

1

en mis archivos de registro veo que todo está bien hasta Inicializar la extensión incorporada GLX pero luego es seguido por

The XKEYBOARD keymap compiler (xkbcomp) reports:
> Internal error:   Could not resolve keysym XF86AudioMicMute
Errors from xkbcomp are not fatal to the X server

puede ser el problema clave es con xkbcomp?


1

En la página wiki de Xvfb dice: "A diferencia de un servidor de visualización real, Xvfb no admite extensiones X11 modernas como la composición, Randr o GLX. Xdummy es una alternativa más nueva que admite estas extensiones y proporciona la misma funcionalidad que Xvfb".


Para obtener más información, use Xdummy -h(no hay página de manual a partir de x11vnc 0.9.13-6 en Arch Linux).
Lekensteyn

77
Esta respuesta no es correcta. Usamos GLX en Xvfb durante varios años en Linux para el conjunto de pruebas OpenSCAD sin cabeza. bugzilla.redhat.com/show_bug.cgi?id=904851 la wiki ha sido actualizada y esa línea eliminada.
Don brillante
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.