xvfb에서 GLX 확장이 제대로 작동하지 않습니다.

xvfb에서 GLX 확장이 제대로 작동하지 않습니다.

다음 패키지가 설치된 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가 필요한 응용 프로그램이 시작되지 않습니다.

여러 문서 페이지와 포럼을 확인한 후에도 여기서 무엇이 잘못되고 있는지 전혀 알 수 없습니다. GLX 확장이 올바르게 로드되지 않은 경우 X 서버 로그 파일에 오류가 표시되지 않는 이유는 무엇입니까? 확인해야 할 것이 있나요?

답변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는 합성, Randr 또는 GLX와 같은 최신 X11 확장을 지원하지 않습니다. Xdummy는 Xvfb와 동일한 기능을 제공할 뿐만 아니라 이러한 확장을 지원하는 새로운 대안입니다."

관련 정보