Расширение GLX не работает должным образом с xvfb

Расширение GLX не работает должным образом с xvfb

У меня установлена ​​система Ubuntu 14.04 со следующими пакетами:

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

Я хочу запустить приложение под xvfb. Сначала я запускаю xvfb с помощью:

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

и затем проверьте файл журнала 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

который не показывает никаких ошибок. Также, похоже, что GLX был загружен правильно. Теперь, если я проверю сервер с помощью

$ glxinfo -display :1

я получил

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

На самом деле приложение, которое я хочу запустить на этом сервере и которому нужен GLX, не запускается.

После проверки нескольких страниц документации и форумов я не имею ни малейшего понятия, что здесь не так. Почему файл журнала X-сервера не показывает никаких ошибок, если расширение GLX было загружено неправильно? Что-то нужно проверить?

решение1

Xvfb (виртуальный буфер кадров X) — это виртуальный Xsever, не поддерживающий реальное аппаратное ускорение.

Вам нужно вызвать вызовы OpenGL, с виртуальныйGL, разветвите реальные вызовы через настоящий 3D Xserver и 2D-рендеринг на Xvfb или другой 2D Xserver.

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

решение2

В моих лог-файлах я вижу, что все в порядке до Инициализации встроенного расширения GLX, но затем следует

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

может быть, ключевая проблема связана с xkbcomp?

решение3

В викистраницао Xvfb говорится: «В отличие от настоящего сервера отображения, Xvfb не поддерживает современные расширения X11, такие как композитинг, Randr или GLX. Xdummy — это более новая альтернатива, которая поддерживает эти расширения, а также предоставляет ту же функциональность, что и Xvfb».

Связанный контент