Ich habe ein Ubuntu 14.04-System mit den folgenden Paketen installiert:
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
Ich möchte eine Anwendung unter xvfb starten. Ich starte xvfb zuerst mit:
$ Xvfb :1 -screen 0 1024x768x24 +extension GLX +render -noreset >> xsession.log 2>&1 &
und überprüfen Sie dann die Xvfb-Protokolldatei:
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
das zeigt keine fehler. Es scheint auch, dass GLX richtig geladen wurde. Nun, wenn ich den Server mit überprüfe
$ glxinfo -display :1
Ich bekomme
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".
...
Tatsächlich startet die Anwendung, die ich auf diesem Server starten möchte und die GLX benötigt, nicht.
Nachdem ich mehrere Dokumentationsseiten und Foren durchgesehen habe, habe ich keine Ahnung, was hier falsch läuft. Warum zeigt die X-Server-Protokolldatei keine Fehler an, wenn die GLX-Erweiterung nicht korrekt geladen wurde? Gibt es etwas, das ich überprüfen sollte?
Antworten:
Xvfb (X Virtual Frame Buffer) ist ein virtueller Xsever, der keine echte Hardwarebeschleunigung unterstützt.
Sie benötigen OpenGL-Aufrufe mit VirtualGL , um die realen Aufrufe über einen realen 3D-Xserver und 2D-Rendering an Xvfb oder einen anderen 2D-Xserver weiterzuleiten.
quelle
In der Wiki- Seite von Xvfb heißt es: "Im Gegensatz zu einem echten Anzeigeserver unterstützt Xvfb keine modernen X11-Erweiterungen wie Compositing, Randr oder GLX. Xdummy ist eine neuere Alternative, die diese Erweiterungen unterstützt und die gleiche Funktionalität wie Xvfb bietet."
quelle
Xdummy -h
(es gibt keine Manpage ab x11vnc 0.9.13-6 unter Arch Linux).In meinen Protokolldateien sehe ich, dass bis zur Initialisierung der eingebauten Erweiterung GLX alles in Ordnung ist, aber danach folgt
kann das schlüsselproblem bei xkbcomp sein?
quelle