Eu gostaria de renderizar OpenGL a partir de um aplicativo que fala com um servidor X11. O aplicativo lê o valor da variável DISPLAY
.
Eu tenho acesso a uma caixa do CentOS 7 que tem uma bela placa gráfica capaz de renderizar em 3D, mas não tenho um monitor conectado a ela.
Quando executo o xstart
, para iniciar o servidor X11, recebo o seguinte erro:
Fatal server error:
(EE) no screens found(EE)
Como faço para iniciar um servidor X11 para renderização em uma placa gráfica, sem exibição física?
Esta caixa fica em uma sala de servidores, por isso não posso conectar uma exibição física a ela.
Além disso, xvfb
ou renderizadores de software talvez não sejam úteis para essa tarefa, porque não manipula as instruções necessárias para renderização. Eu precisaria usar o adaptador gráfico.
Aqui estão os adaptadores gráficos disponíveis para mim:
# 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)
Aqui está o meu arquivo 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
Eu posso postar transcrições de outros registros úteis. Obrigado por qualquer conselho!