GLX uzantısı xvfb ile düzgün çalışmıyor


15

Aşağıdaki paketlerin kurulu olduğu bir Ubuntu 14.04 sistemim var:

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 altında bir uygulama başlatmak istiyorum. Ben ilk xvfb ile başlar:

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

ve sonra xvfb günlük dosyasını kontrol edin:

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

hiçbir hata göstermez. Ayrıca, GLX düzgün bir şekilde yüklenmiş gibi görünüyor. Şimdi, sunucuyu

$ glxinfo -display :1

alırım

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

Aslında, bu sunucuda başlatmak istediğim ve GLX'e ihtiyaç duyan uygulama başlamıyor.

Birkaç belge sayfasını ve forumunu kontrol ettikten sonra, burada neyin yanlış gittiğine dair hiçbir fikrim yok. GLX uzantısı doğru yüklenmemişse neden X sunucusu günlük dosyası herhangi bir hata göstermiyor? Kontrol etmem gereken bir şey var mı?


Xvfb'nin wiki sayfasında [1] şöyle diyor: "Gerçek bir görüntüleme sunucusunun aksine, Xvfb, birleştirme, Randr veya GLX gibi modern X11 uzantılarını desteklemez. Xdummy, bu uzantıları destekleyen ve Xvfb ile aynı işlevselliği sağlayan daha yeni bir alternatiftir. ." [1] en.wikipedia.org/wiki/Xvfb
alpert

@alpertek bunu bir cevap olarak göndermelisin. GLX'in kullanışlı olması için genellikle çipe özgü bir sürücüye ihtiyacı vardır.
XTL

3
yukarıdaki yorumlar doğru değildir. XVfb'de GLX'i birkaç yıl boyunca OpenSCAD test paketinde kullandık. bugzilla.redhat.com/show_bug.cgi?id=904851
don '

Bu arada wiki'deki yorum kaldırıldı. en.wikipedia.org/w/…
Vladimír Čunát

Yanıtlar:


2

Xvfb (X sanal Çerçeve arabelleği) bir Xsever sanal gerçek donanım ivmesini desteklemiyor.

SanalGL ile spaG openGL çağrılarına ihtiyacınız var , gerçek çağrıları gerçek bir 3D Xserver ve 2d render ile Xvfb veya başka bir 2D Xserver'a yönlendirin.

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

Gerçek donanım hızlandırmasını desteklemese de Mesa (yazılım GLX) yazılımını iyi destekliyor - Bir süre önce kontrol ettim (hala 2018'de). Elbette gerçek bir 3D Xserver kullanmanıza gerek yok , elbette bir seçenek.
dirkt

1

günlük dosyalarımda, her şey dahili dahili GLX'i başlatmak için uygun görüyorum, ancak ardından

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

xkbcomp ile önemli bir sorun olabilir?


1

Xvfb'nin wiki sayfasında şöyle diyor: "Gerçek bir görüntüleme sunucusunun aksine, Xvfb, birleştirme, Randr veya GLX gibi modern X11 uzantılarını desteklemez. Xdummy, bu uzantıları destekleyen ve Xvfb ile aynı işlevselliği sağlayan daha yeni bir alternatiftir."


Daha fazla bilgi için kullanın Xdummy -h(Arch Linux'ta x11vnc 0.9.13-6'dan itibaren manpage yoktur).
Lekensteyn

7
bu cevap doğru değil. Xvfb'de GLX'i birkaç yıl boyunca Linux'ta başsız OpenSCAD test takımı için kullandık. bugzilla.redhat.com/show_bug.cgi?id=904851 wiki beri güncellendi ve bu hat kaldırıldı.
don parlak
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.