Centos

在 CentOS 7 上啟動 X11 伺服器無螢幕但有顯卡

  • December 19, 2016

我想從與 X11 伺服器對話的應用程序進行 OpenGL 渲染。應用程序讀取DISPLAY變數的值。

我可以訪問一個 CentOS 7 機器,它有一個很好的顯卡,能夠進行 3D 渲染,但我沒有插入顯示器。

當我執行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

我可以發布任何其他有用日誌的成績單。感謝您的任何建議!

我以前遇到過這個問題。 不幸的是,我能想出的最佳答案是硬體解決方案:通過將 VGA 終結器插入 VGA 輸出,誘使顯卡認為已安裝顯示器。您可以在家製作一個或購買一個;Google搜尋“VGA 終止符”會為兩者返回大量結果。

另一種選擇可能是在無頭系統上執行 VNC 伺服器,但我不確定顯卡是否可以渲染到 VNC 輸出。

引用自:https://unix.stackexchange.com/questions/331507