J'ai un système Ubuntu 14.04 avec les packages suivants installés:
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
Je veux démarrer une application sous xvfb. Je démarre d'abord xvfb avec:
$ Xvfb :1 -screen 0 1024x768x24 +extension GLX +render -noreset >> xsession.log 2>&1 &
puis vérifiez le fichier journal 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
qui ne montre aucune erreur. En outre, il semble que GLX ait été correctement chargé. Maintenant, si je vérifie le serveur avec
$ glxinfo -display :1
Je reçois
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".
...
En fait, l'application que je veux démarrer sur ce serveur et qui a besoin de GLX ne démarre pas.
Après avoir vérifié plusieurs pages de documentation et forums, je n'ai aucune idée de ce qui ne va pas ici. Pourquoi le fichier journal du serveur X n'affiche-t-il aucune erreur si l'extension GLX n'a pas été chargée correctement? Y a-t-il quelque chose que je devrais vérifier?
Réponses:
Xvfb (tampon de trame virtuel X) est un virtuel Xsever ne prenant pas en charge l'accélération matérielle réelle.
Vous devez générer des appels openGL, avec virtualGL , bifurquer les vrais appels via un vrai serveur X 3D et un rendu 2D vers Xvfb ou un autre serveur X 2D.
la source
dans mes fichiers journaux, je vois que tout va bien jusqu'à l'initialisation de l'extension intégrée GLX, mais elle est suivie de
peut-être que le problème clé est avec xkbcomp?
la source
Dans la page wiki de Xvfb, il est dit: "Contrairement à un vrai serveur d'affichage, Xvfb ne prend pas en charge les extensions X11 modernes comme la composition, Randr ou GLX. Xdummy est une alternative plus récente qui prend en charge ces extensions et fournit les mêmes fonctionnalités que Xvfb."
la source
Xdummy -h
(il n'y a pas de page de manuel à partir de x11vnc 0.9.13-6 sur Arch Linux).