X11 서버와 통신하는 응용 프로그램에서 OpenGL 렌더링을 수행하고 싶습니다. 애플리케이션은 변수의 값을 읽습니다 DISPLAY
.
좋은 그래픽 카드가 있고 3D 렌더링이 가능한 CentOS 7 시스템에 액세스할 수 있지만 모니터가 연결되어 있지 않습니다.
을 실행하고 xstart
X11 서버를 시작하면 다음 오류가 발생합니다.
Fatal server error:
(EE) no screens found(EE)
물리적 모니터 없이 그래픽 카드에서 렌더링하기 위해 X11 서버를 어떻게 시작합니까?
상자가 서버실에 있으므로 물리적 모니터를 연결할 수 없습니다.
또한 xvfb
소프트웨어 렌더러는 렌더링에 필요한 지침을 처리하지 않기 때문에 이 작업에 유용하지 않을 수 있습니다. 그래픽 어댑터를 사용해야 합니다.
사용할 수 있는 그래픽 어댑터는 다음과 같습니다.
# lspci | egrep 'VGA|3D'
04:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)
0a:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. G200eR2 (rev 01)
이것은 내 xorg.conf
파일입니다:
# more /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 375.20 (buildmeister@swio-display-x86-rhel47-06) Tue Nov 15 17:49:44 PST 2016
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
FontPath "/usr/share/fonts/default/Type1"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
다른 유용한 로그를 게시할 수 있습니다. 어떤 조언이라도 감사드립니다!
답변1
나는 전에이 문제를 겪었습니다. 불행하게도 제가 생각할 수 있는 최선의 대답은 하드웨어 솔루션입니다.VGA 터미네이터를 VGA 출력에 연결하여 그래픽 카드를 모니터가 설치된 것처럼 속입니다.. 집에서 만들 수도 있고 구입할 수도 있습니다. Google에서 "VGA 터미네이터"를 검색하면 두 가지 모두에 대한 많은 결과가 나옵니다.
또 다른 옵션은 헤드리스 시스템에서 VNC 서버를 실행하는 것일 수 있지만 그래픽 카드가 VNC 출력으로 렌더링할 수 있는지 확실하지 않습니다.