Extensão GLX não funciona corretamente com xvfb

Extensão GLX não funciona corretamente com xvfb

Eu tenho um sistema Ubuntu 14.04 com os seguintes pacotes 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

Quero iniciar um aplicativo no xvfb. Eu primeiro começo o xvfb com:

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

e verifique o arquivo de log 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 não mostra erros. Além disso, parece que o GLX foi carregado corretamente. Agora, se eu verificar o servidor com

$ glxinfo -display :1

eu recebo

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".
...

Na verdade, a aplicação que desejo iniciar neste servidor e que precisa do GLX não inicia.

Depois de verificar várias páginas de documentação e fóruns, não tenho ideia do que está errado aqui. Por que o arquivo de log do servidor X não mostra nenhum erro se a extensão GLX não foi carregada corretamente? Há algo que devo verificar?

Responder1

Xvfb (X virtual Frame buffer) é um Xsever virtual que não suporta aceleração de hardware real.

Você precisa gerar chamadas openGL, com virtualGL, bifurque as chamadas reais por meio de um Xserver 3D real e renderização 2D para Xvfb ou outro Xserver 2D.

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

Responder2

em meus arquivos de log, vejo que está tudo bem até inicializar a extensão interna GLX, mas depois é 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

pode ser que o principal problema seja com xkbcomp?

Responder3

Na wikipáginado Xvfb diz: "Ao contrário de um servidor de exibição real, o Xvfb não suporta extensões X11 modernas como composição, Randr ou GLX. Xdummy é uma alternativa mais recente que suporta essas extensões, além de fornecer a mesma funcionalidade do Xvfb."

informação relacionada