Tiện ích mở rộng GLX không hoạt động đúng với xvfb


15

Tôi có hệ thống Ubuntu 14.04 với các gói sau được cài đặt:

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

Tôi muốn bắt đầu một ứng dụng theo xvfb. Lần đầu tiên tôi bắt đầu xvfb với:

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

và sau đó kiểm tra tệp nhật ký 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

trong đó cho thấy không có lỗi. Ngoài ra, có vẻ như GLX đã được tải đúng cách. Bây giờ, nếu tôi kiểm tra máy chủ với

$ glxinfo -display :1

tôi có

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

Trên thực tế, ứng dụng mà tôi muốn khởi động trên máy chủ này và cần GLX sẽ không khởi động.

Sau khi kiểm tra một số trang tài liệu và diễn đàn, tôi không biết chuyện gì đang xảy ra ở đây. Tại sao tệp nhật ký máy chủ X không hiển thị bất kỳ lỗi nào nếu tiện ích mở rộng GLX không được tải đúng cách? Có cái gì tôi nên kiểm tra?


Trong trang wiki [1] của Xvfb có ghi: "Không giống như một máy chủ hiển thị thực, Xvfb không hỗ trợ các tiện ích mở rộng X11 hiện đại như tổng hợp, Randr hoặc GLX. Xdummy là một thay thế mới hơn hỗ trợ các tiện ích mở rộng này cũng như cung cấp chức năng tương tự như Xvfb . " [1] vi.wikipedia.org/wiki/Xvfb
alpert

@alpertek bạn nên đăng nó như một câu trả lời. GLX thường cần một trình điều khiển dành riêng cho chip để có ích.
XtL

3
các ý kiến ​​trên không đúng. chúng tôi đã sử dụng GLX trên Xvfb trong vài năm trong bộ thử nghiệm OpenSCAD. bugzilla.redhat.com/show_orms.cgi?id=904851
don sáng

Trong khi đó, bình luận trong wiki đã bị xóa. vi.wikipedia.org/w/ từ
Vladimír Čunát

Câu trả lời:


2

Xvfb (Bộ đệm khung ảo X) là một ảo Xsever không hỗ trợ tăng tốc phần cứng thực sự.

Bạn cần sinh ra các cuộc gọi openGL , với virtualGL , phân tách các cuộc gọi thực thông qua Xserver 3D thực và kết xuất 2d sang Xvfb hoặc 2D Xserver khác.

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

Mặc dù nó không hỗ trợ tăng tốc phần cứng thực sự, nhưng nó hỗ trợ Mesa (phần mềm GLX) khá tốt - tôi đã kiểm tra một thời gian trước (vẫn trong năm 2018). Vì vậy, bạn không cần phải sử dụng Máy chủ 3D thực sự, mặc dù đó tất nhiên là một tùy chọn.
dirkt

1

Trong wiki trang của Xvfb nó nói: "Không giống như một máy chủ hiển thị thực, Xvfb không hỗ trợ phần mở rộng X11 hiện đại như hợp lại, Randr hoặc GLX Xdummy là một thay thế mới mà hỗ trợ các phần mở rộng cũng như cung cấp các chức năng tương tự như Xvfb.."


Để biết thêm thông tin, hãy sử dụng Xdummy -h(không có manpage kể từ x11vnc 0.9.13-6 trên Arch Linux).
Lekensteyn

7
Câu trả lời này không đúng. chúng tôi đã sử dụng GLX trên Xvfb trong vài năm trong linux cho bộ thử nghiệm OpenSCAD không đầu. bugzilla.redhat.com/show_orms.cgi?id=904851 wiki đã được cập nhật và dòng đó đã bị xóa.
don sáng

0

trong các tệp nhật ký của tôi, tôi thấy mọi thứ đều ổn khi Khởi tạo tiện ích mở rộng GLX tích hợp nhưng sau đó nó được theo sau bởi

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

có thể là vấn đề chính với xkbcomp?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.