Debian

在帶有 GPU 但沒有顯示器的 Linux 伺服器上進行渲染的最佳方法?

  • November 18, 2021

我有一個渲染軟體,更具體地說,它是一個渲染影片(保存渲染幀)的 Unity3D «遊戲»。

不幸的是 Unity3D 不支持 «headless» 渲染(它可以在 headless 模式下執行,但在這種情況下它不渲染幀),因此它需要一個 X 伺服器來創建一個視窗。

  • 我有一個帶有 Intel GPU (630) NVidia GT1030 和專有驅動程序的 Debian Bullseye 伺服器
  • 我沒有任何類型的顯示器
  • 我無法插入類似 HDMI 假顯示設備之類的東西。
  • 它對性能至關重要,因此必須完全由硬體加速渲染,因此xvfb不適合這樣的解決方案。

而且我還想在 Docker 中執行它,有時我需要查看現在使用 VNC 呈現的內容以進行調試。

據我了解,我需要:

  1. 在主機上執行 X 伺服器,創建虛擬顯示器
  2. 與 docker 容器共享主機的 X 伺服器,在那裡執行我的應用程序和 VNC 伺服器

這是最好的方法嗎?

我創建了一個虛擬顯示器:

Section "ServerLayout"
   Identifier     "Layout0"
   Screen      0  "Screen0"
   InputDevice    "Keyboard0" "CoreKeyboard"
   InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
   # generated from default
   Identifier     "Mouse0"
   Driver         "mouse"
   Option         "Protocol" "auto"
   Option         "Device" "/dev/psaux"
   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    20.0 - 120.0
   VertRefresh  30.0 - 120.0
EndSection

Section "Device"
   Identifier     "Device0"
   Driver         "nvidia"
   VendorName     "NVIDIA Corporation"
   BoardName      "NVIDIA GeForce GT 1030"
   Option      "ConnectedMonitor" "DFP"
   Option      "CustomEDID" "DFP-0:/etc/X11/EDID.bin"
   Option      "ConstrainCursor" "off"
   BusID       "PCI:01:0:0"
EndSection

Section "Screen"
   Identifier "Screen0"
   Device     "Device0"
   Monitor    "Monitor0"
   DefaultDepth     24
   Option      "TwinView" "0"
   Option      "metamodes" "DFP-0: 1280x1024 +0+0"
   SubSection "Display"
           Depth     24
   EndSubSection
EndSection

並開始 X:

sudo X :0 -config /etc/X11/xorg.conf

它開始時沒有任何錯誤,但似乎掛起(對 Ctrl+C 沒有反應,殺死它的唯一方法是kill -9 PID)。

glxinfo不起作用:

$ DISPLAY=:0 glxinfo
name of display: :0

X Error of failed request:  BadValue (integer parameter out of range for operation)
 Major opcode of failed request:  151 (GLX)
 Minor opcode of failed request:  24 (X_GLXCreateNewContext)
 Value in failed request:  0x0
 Serial number of failed request:  110
 Current serial number in output stream:  111

但是,如果我指定顯示,則xrandr顯示其資訊:

$ xrandr -d :0
Screen 0: minimum 8 x 8, current 1280 x 1024, maximum 32767 x 32767
DVI-D-0 connected primary 1280x1024+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
  1920x1080     60.00 +  59.94    50.00    60.00    50.04  
  1680x1050     59.95  
  1440x900      59.89  
  1280x1024     75.02*   60.02  
  1280x960      60.00  
  1280x720      60.00    59.94    50.00  
  1024x768      75.03    70.07    60.00  
  800x600       75.00    72.19    60.32    56.25  
  720x576       50.00  
  720x480       59.94  
  640x480       75.00    72.81    59.94    59.93  
HDMI-0 disconnected (normal left inverted right x axis y axis)

X 伺服器日誌看起來不錯:

[   306.770] 
X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
[   306.770] Build Operating System: linux Debian
[   306.770] Current Operating System: Linux home-server 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64
[   306.770] Kernel command line: BOOT_IMAGE=/vmlinuz-5.10.0-9-amd64 root=/dev/mapper/home--server--vg-root ro quiet
[   306.770] Build Date: 13 April 2021  04:07:31PM
[   306.770] xorg-server 2:1.20.11-1 (https://www.debian.org/support) 
[   306.770] Current version of pixman: 0.40.0
[   306.770]    Before reporting problems, check http://wiki.x.org
       to make sure that you have the latest version.
[   306.770] Markers: (--) probed, (**) from config file, (==) default setting,
       (++) from command line, (!!) notice, (II) informational,
       (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   306.770] (==) Log file: "/var/log/Xorg.0.log", Time: Thu Nov 18 21:49:50 2021
[   306.770] (++) Using config file: "/etc/X11/xorg.conf"
[   306.770] (==) ServerLayout "Layout0"
[   306.770] (**) |-->Screen "Screen0" (0)
[   306.770] (**) |   |-->Monitor "Monitor0"
[   306.770] (**) |   |-->Device "Device0"
[   306.770] (**) |-->Input Device "Keyboard0"
[   306.770] (**) |-->Input Device "Mouse0"
[   306.770] (==) Automatically adding devices
[   306.770] (==) Automatically enabling devices
[   306.770] (==) Automatically adding GPU devices
[   306.770] (==) Max clients allowed: 256, resource mask: 0x1fffff
[   306.770] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[   306.770]    Entry deleted from font path.
[   306.770] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[   306.770]    Entry deleted from font path.
[   306.770] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[   306.770]    Entry deleted from font path.
[   306.770] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
[   306.770]    Entry deleted from font path.
[   306.770] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[   306.770]    Entry deleted from font path.
[   306.770] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[   306.770]    Entry deleted from font path.
[   306.770] (==) FontPath set to:
       /usr/share/fonts/X11/misc,
       built-ins
[   306.770] (==) ModulePath set to "/usr/lib/xorg/modules"
[   306.770] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[   306.770] (WW) Disabling Keyboard0
[   306.770] (WW) Disabling Mouse0
[   306.770] (II) Loader magic: 0x562334c16e40
[   306.770] (II) Module ABI versions:
[   306.770]    X.Org ANSI C Emulation: 0.4
[   306.770]    X.Org Video Driver: 24.1
[   306.770]    X.Org XInput driver : 24.1
[   306.770]    X.Org Server Extension : 10.0
[   306.771] (--) using VT number 3

[   306.771] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[   306.771] (II) xfree86: Adding drm device (/dev/dri/card0)
[   306.772] (--) PCI:*(1@0:0:0) 10de:1d01:1043:85f4 rev 161, Mem @ 0xa2000000/16777216, 0x90000000/268435456, 0xa0000000/33554432, I/O @ 0x00003000/128, BIOS @ 0x????????/131072
[   306.772] (II) LoadModule: "glx"
[   306.772] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[   306.772] (II) Module glx: vendor="X.Org Foundation"
[   306.772]    compiled for 1.20.11, module version = 1.0.0
[   306.772]    ABI class: X.Org Server Extension, version 10.0
[   306.772] (II) LoadModule: "nvidia"
[   306.772] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[   306.773] (II) Module nvidia: vendor="NVIDIA Corporation"
[   306.773]    compiled for 1.6.99.901, module version = 1.0.0
[   306.773]    Module class: X.Org Video Driver
[   306.773] (II) NVIDIA dlloader X Driver  470.86  Tue Oct 26 21:53:29 UTC 2021
[   306.773] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[   306.773] (II) Loading sub module "fb"
[   306.773] (II) LoadModule: "fb"
[   306.773] (II) Loading /usr/lib/xorg/modules/libfb.so
[   306.773] (II) Module fb: vendor="X.Org Foundation"
[   306.773]    compiled for 1.20.11, module version = 1.0.0
[   306.773]    ABI class: X.Org ANSI C Emulation, version 0.4
[   306.773] (II) Loading sub module "wfb"
[   306.773] (II) LoadModule: "wfb"
[   306.773] (II) Loading /usr/lib/xorg/modules/libwfb.so
[   306.773] (II) Module wfb: vendor="X.Org Foundation"
[   306.773]    compiled for 1.20.11, module version = 1.0.0
[   306.773]    ABI class: X.Org ANSI C Emulation, version 0.4
[   306.773] (II) Loading sub module "ramdac"
[   306.773] (II) LoadModule: "ramdac"
[   306.773] (II) Module "ramdac" already built-in
[   306.773] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[   306.773] (==) NVIDIA(0): RGB weight 888
[   306.773] (==) NVIDIA(0): Default visual is TrueColor
[   306.773] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[   306.773] (**) NVIDIA(0): Option "ConstrainCursor" "off"
[   306.773] (**) NVIDIA(0): Option "ConnectedMonitor" "DFP"
[   306.773] (**) NVIDIA(0): Option "CustomEDID" "DFP-0:/etc/X11/EDID.bin"
[   306.773] (**) NVIDIA(0): Option "MetaModes" "DFP-0: 1280x1024 +0+0"
[   306.773] (**) NVIDIA(0): Enabling 2D acceleration
[   306.773] (**) NVIDIA(0): ConnectedMonitor string: "DFP"
[   306.773] (II) Loading sub module "glxserver_nvidia"
[   306.773] (II) LoadModule: "glxserver_nvidia"
[   306.773] (II) Loading /usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
[   306.777] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[   306.777]    compiled for 1.6.99.901, module version = 1.0.0
[   306.777]    Module class: X.Org Server Extension
[   306.777] (II) NVIDIA GLX Module  470.86  Tue Oct 26 21:51:04 UTC 2021
[   306.777] (II) NVIDIA: The X server supports PRIME Render Offload.
[   306.953] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[   306.953] (--) NVIDIA(0):     DFP-0
[   306.953] (--) NVIDIA(0):     DFP-1
[   306.953] (**) NVIDIA(0): Using ConnectedMonitor string "DFP-0".
[   306.953] (II) NVIDIA(0): NVIDIA GPU NVIDIA GeForce GT 1030 (GP108-A) at PCI:1:0:0
[   306.953] (II) NVIDIA(0):     (GPU-0)
[   306.953] (--) NVIDIA(0): Memory: 2097152 kBytes
[   306.953] (--) NVIDIA(0): VideoBIOS: 86.08.0c.00.1a
[   306.953] (II) NVIDIA(0): Detected PCI Express Link width: 4X
[   306.954] (--) NVIDIA(GPU-0): AOC 2369M (DFP-0): connected
[   306.954] (--) NVIDIA(GPU-0): AOC 2369M (DFP-0): Internal TMDS
[   306.954] (--) NVIDIA(GPU-0): AOC 2369M (DFP-0): 600.0 MHz maximum pixel clock
[   306.954] (--) NVIDIA(GPU-0): 
[   306.954] (--) NVIDIA(GPU-0): DFP-1: disconnected
[   306.954] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[   306.954] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[   306.954] (--) NVIDIA(GPU-0): 
[   306.958] (II) NVIDIA(0): Validated MetaModes:
[   306.958] (II) NVIDIA(0):     "DFP-0:1280x1024+0+0"
[   306.958] (II) NVIDIA(0): Virtual screen size determined to be 1280 x 1024
[   306.961] (--) NVIDIA(0): DPI set to (63, 89); computed from "UseEdidDpi" X config
[   306.961] (--) NVIDIA(0):     option
[   306.961] (II) NVIDIA: Reserving 24576.00 MB of virtual memory for indirect memory
[   306.961] (II) NVIDIA:     access.
[   306.963] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[   306.963] (II) NVIDIA(0):     may not be running or the "AcpidSocketPath" X
[   306.963] (II) NVIDIA(0):     configuration option may not be set correctly.  When the
[   306.963] (II) NVIDIA(0):     ACPI event daemon is available, the NVIDIA X driver will
[   306.963] (II) NVIDIA(0):     try to use it to receive ACPI event notifications.  For
[   306.963] (II) NVIDIA(0):     details, please see the "ConnectToAcpid" and
[   306.963] (II) NVIDIA(0):     "AcpidSocketPath" X configuration options in Appendix B: X
[   306.963] (II) NVIDIA(0):     Config Options in the README.
[   306.975] (II) NVIDIA(0): Setting mode "DFP-0:1280x1024+0+0"
[   306.998] (==) NVIDIA(0): Disabling shared memory pixmaps
[   306.998] (==) NVIDIA(0): Backing store enabled
[   306.998] (==) NVIDIA(0): Silken mouse enabled
[   306.998] (==) NVIDIA(0): DPMS enabled
[   306.998] (WW) NVIDIA(0): Option "TwinView" is not used
[   306.998] (II) Loading sub module "dri2"
[   306.998] (II) LoadModule: "dri2"
[   306.998] (II) Module "dri2" already built-in
[   306.998] (II) NVIDIA(0): [DRI2] Setup complete
[   306.998] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
[   306.998] (II) Initializing extension Generic Event Extension
[   306.998] (II) Initializing extension SHAPE
[   306.998] (II) Initializing extension MIT-SHM
[   306.998] (II) Initializing extension XInputExtension
[   306.999] (II) Initializing extension XTEST
[   306.999] (II) Initializing extension BIG-REQUESTS
[   306.999] (II) Initializing extension SYNC
[   306.999] (II) Initializing extension XKEYBOARD
[   306.999] (II) Initializing extension XC-MISC
[   306.999] (II) Initializing extension SECURITY
[   306.999] (II) Initializing extension XFIXES
[   306.999] (II) Initializing extension RENDER
[   306.999] (II) Initializing extension RANDR
[   306.999] (II) Initializing extension COMPOSITE
[   306.999] (II) Initializing extension DAMAGE
[   306.999] (II) Initializing extension MIT-SCREEN-SAVER
[   306.999] (II) Initializing extension DOUBLE-BUFFER
[   306.999] (II) Initializing extension RECORD
[   306.999] (II) Initializing extension DPMS
[   306.999] (II) Initializing extension Present
[   307.000] (II) Initializing extension DRI3
[   307.000] (II) Initializing extension X-Resource
[   307.000] (II) Initializing extension XVideo
[   307.000] (II) Initializing extension XVideo-MotionCompensation
[   307.000] (II) Initializing extension SELinux
[   307.000] (II) SELinux: Disabled on system
[   307.000] (II) Initializing extension GLX
[   307.000] (II) Initializing extension GLX
[   307.000] (II) Indirect GLX disabled.
[   307.000] (II) GLX: Another vendor is already registered for screen 0
[   307.000] (II) Initializing extension XFree86-VidModeExtension
[   307.000] (II) Initializing extension XFree86-DGA
[   307.000] (II) Initializing extension XFree86-DRI
[   307.000] (II) Initializing extension DRI2
[   307.000] (II) Initializing extension NV-GLX
[   307.000] (II) Initializing extension NV-CONTROL
[   307.000] (II) Initializing extension XINERAMA
[   307.019] (II) config/udev: Adding input device Power Button (/dev/input/event3)
[   307.019] (II) No input driver specified, ignoring this device.
[   307.019] (II) This device may have been added with another device file.
[   307.019] (II) config/udev: Adding input device Power Button (/dev/input/event2)
[   307.019] (II) No input driver specified, ignoring this device.
[   307.019] (II) This device may have been added with another device file.
[   307.019] (II) config/udev: Adding input device Sleep Button (/dev/input/event1)
[   307.019] (II) No input driver specified, ignoring this device.
[   307.019] (II) This device may have been added with another device file.
[   307.019] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event5)
[   307.019] (II) No input driver specified, ignoring this device.
[   307.019] (II) This device may have been added with another device file.
[   307.019] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event6)
[   307.019] (II) No input driver specified, ignoring this device.
[   307.019] (II) This device may have been added with another device file.
[   307.020] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=8 (/dev/input/event7)
[   307.020] (II) No input driver specified, ignoring this device.
[   307.020] (II) This device may have been added with another device file.
[   307.020] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=9 (/dev/input/event8)
[   307.020] (II) No input driver specified, ignoring this device.
[   307.020] (II) This device may have been added with another device file.
[   307.020] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=10 (/dev/input/event9)
[   307.020] (II) No input driver specified, ignoring this device.
[   307.020] (II) This device may have been added with another device file.
[   307.020] (II) config/udev: Adding input device ASRock LED Controller (/dev/input/event0)
[   307.020] (II) No input driver specified, ignoring this device.
[   307.020] (II) This device may have been added with another device file.
[   307.020] (II) config/udev: Adding input device ASRock LED Controller (/dev/input/js0)
[   307.020] (II) No input driver specified, ignoring this device.
[   307.020] (II) This device may have been added with another device file.
[   307.021] (II) config/udev: Adding input device HDA Intel PCH Front Mic (/dev/input/event10)
[   307.021] (II) No input driver specified, ignoring this device.
[   307.021] (II) This device may have been added with another device file.
[   307.021] (II) config/udev: Adding input device HDA Intel PCH Rear Mic (/dev/input/event11)
[   307.021] (II) No input driver specified, ignoring this device.
[   307.021] (II) This device may have been added with another device file.
[   307.021] (II) config/udev: Adding input device HDA Intel PCH Line (/dev/input/event12)
[   307.021] (II) No input driver specified, ignoring this device.
[   307.021] (II) This device may have been added with another device file.
[   307.021] (II) config/udev: Adding input device HDA Intel PCH Line Out (/dev/input/event13)
[   307.021] (II) No input driver specified, ignoring this device.
[   307.021] (II) This device may have been added with another device file.
[   307.021] (II) config/udev: Adding input device HDA Intel PCH Front Headphone (/dev/input/event14)
[   307.021] (II) No input driver specified, ignoring this device.
[   307.021] (II) This device may have been added with another device file.
[   307.021] (II) config/udev: Adding input device PC Speaker (/dev/input/event4)
[   307.021] (II) No input driver specified, ignoring this device.
[   307.021] (II) This device may have been added with another device file.
[   390.739] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[   390.739] (II) NVIDIA(0):     may not be running or the "AcpidSocketPath" X
[   390.739] (II) NVIDIA(0):     configuration option may not be set correctly.  When the
[   390.739] (II) NVIDIA(0):     ACPI event daemon is available, the NVIDIA X driver will
[   390.739] (II) NVIDIA(0):     try to use it to receive ACPI event notifications.  For
[   390.739] (II) NVIDIA(0):     details, please see the "ConnectToAcpid" and
[   390.739] (II) NVIDIA(0):     "AcpidSocketPath" X configuration options in Appendix B: X
[   390.739] (II) NVIDIA(0):     Config Options in the README.
[   390.739] (--) NVIDIA(GPU-0): AOC 2369M (DFP-0): connected
[   390.739] (--) NVIDIA(GPU-0): AOC 2369M (DFP-0): Internal TMDS
[   390.739] (--) NVIDIA(GPU-0): AOC 2369M (DFP-0): 600.0 MHz maximum pixel clock
[   390.739] (--) NVIDIA(GPU-0): 
[   390.739] (--) NVIDIA(GPU-0): DFP-1: disconnected
[   390.739] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[   390.739] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[   390.739] (--) NVIDIA(GPU-0): 
[   390.760] (II) NVIDIA(0): Setting mode "DFP-0:1280x1024+0+0"
[   390.781] (==) NVIDIA(0): Disabling shared memory pixmaps
[   390.781] (==) NVIDIA(0): DPMS enabled
[   390.781] (II) Loading sub module "dri2"
[   390.781] (II) LoadModule: "dri2"
[   390.781] (II) Module "dri2" already built-in
[   390.781] (II) NVIDIA(0): [DRI2] Setup complete
[   390.781] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
[   390.781] (II) Initializing extension Generic Event Extension
[   390.781] (II) Initializing extension SHAPE
[   390.781] (II) Initializing extension MIT-SHM
[   390.781] (II) Initializing extension XInputExtension
[   390.781] (II) Initializing extension XTEST
[   390.781] (II) Initializing extension BIG-REQUESTS
[   390.782] (II) Initializing extension SYNC
[   390.782] (II) Initializing extension XKEYBOARD
[   390.782] (II) Initializing extension XC-MISC
[   390.782] (II) Initializing extension SECURITY
[   390.782] (II) Initializing extension XFIXES
[   390.782] (II) Initializing extension RENDER
[   390.782] (II) Initializing extension RANDR
[   390.782] (II) Initializing extension COMPOSITE
[   390.782] (II) Initializing extension DAMAGE
[   390.782] (II) Initializing extension MIT-SCREEN-SAVER
[   390.782] (II) Initializing extension DOUBLE-BUFFER
[   390.782] (II) Initializing extension RECORD
[   390.782] (II) Initializing extension DPMS
[   390.782] (II) Initializing extension Present
[   390.783] (II) Initializing extension DRI3
[   390.783] (II) Initializing extension X-Resource
[   390.783] (II) Initializing extension XVideo
[   390.783] (II) Initializing extension XVideo-MotionCompensation
[   390.783] (II) Initializing extension SELinux
[   390.783] (II) SELinux: Disabled on system
[   390.783] (II) Initializing extension GLX
[   390.783] (II) Initializing extension GLX
[   390.783] (II) Indirect GLX disabled.
[   390.783] (II) GLX: Another vendor is already registered for screen 0
[   390.783] (II) Initializing extension XFree86-VidModeExtension
[   390.783] (II) Initializing extension XFree86-DGA
[   390.783] (II) Initializing extension XFree86-DRI
[   390.783] (II) Initializing extension DRI2
[   390.783] (II) Initializing extension NV-GLX
[   390.783] (II) Initializing extension NV-CONTROL
[   390.783] (II) Initializing extension XINERAMA
[   390.801] (II) config/udev: Adding input device Power Button (/dev/input/event3)
[   390.801] (II) No input driver specified, ignoring this device.
[   390.801] (II) This device may have been added with another device file.
[   390.801] (II) config/udev: Adding input device Power Button (/dev/input/event2)
[   390.801] (II) No input driver specified, ignoring this device.
[   390.801] (II) This device may have been added with another device file.
[   390.802] (II) config/udev: Adding input device Sleep Button (/dev/input/event1)
[   390.802] (II) No input driver specified, ignoring this device.
[   390.802] (II) This device may have been added with another device file.
[   390.802] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event5)
[   390.802] (II) No input driver specified, ignoring this device.
[   390.802] (II) This device may have been added with another device file.
[   390.802] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event6)
[   390.802] (II) No input driver specified, ignoring this device.
[   390.802] (II) This device may have been added with another device file.
[   390.802] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=8 (/dev/input/event7)
[   390.802] (II) No input driver specified, ignoring this device.
[   390.802] (II) This device may have been added with another device file.
[   390.802] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=9 (/dev/input/event8)
[   390.802] (II) No input driver specified, ignoring this device.
[   390.802] (II) This device may have been added with another device file.
[   390.803] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=10 (/dev/input/event9)
[   390.803] (II) No input driver specified, ignoring this device.
[   390.803] (II) This device may have been added with another device file.
[   390.803] (II) config/udev: Adding input device ASRock LED Controller (/dev/input/event0)
[   390.803] (II) No input driver specified, ignoring this device.
[   390.803] (II) This device may have been added with another device file.
[   390.803] (II) config/udev: Adding input device ASRock LED Controller (/dev/input/js0)
[   390.803] (II) No input driver specified, ignoring this device.
[   390.803] (II) This device may have been added with another device file.
[   390.803] (II) config/udev: Adding input device HDA Intel PCH Front Mic (/dev/input/event10)
[   390.803] (II) No input driver specified, ignoring this device.
[   390.803] (II) This device may have been added with another device file.
[   390.803] (II) config/udev: Adding input device HDA Intel PCH Rear Mic (/dev/input/event11)
[   390.803] (II) No input driver specified, ignoring this device.
[   390.803] (II) This device may have been added with another device file.
[   390.804] (II) config/udev: Adding input device HDA Intel PCH Line (/dev/input/event12)
[   390.804] (II) No input driver specified, ignoring this device.
[   390.804] (II) This device may have been added with another device file.
[   390.804] (II) config/udev: Adding input device HDA Intel PCH Line Out (/dev/input/event13)
[   390.804] (II) No input driver specified, ignoring this device.
[   390.804] (II) This device may have been added with another device file.
[   390.804] (II) config/udev: Adding input device HDA Intel PCH Front Headphone (/dev/input/event14)
[   390.804] (II) No input driver specified, ignoring this device.
[   390.804] (II) This device may have been added with another device file.
[   390.804] (II) config/udev: Adding input device PC Speaker (/dev/input/event4)
[   390.804] (II) No input driver specified, ignoring this device.
[   390.804] (II) This device may have been added with another device file.

問題出在哪裡?

我的 xorg.conf 是這樣的

Section "ServerLayout"
   Identifier     "Default Layout"
   Screen      0  "Screen0" 0 0
   InputDevice    "Mouse0" "CorePointer"
   InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "InputDevice"
   Identifier     "Mouse0"
   Driver         "mouse"
   Option         "Protocol" "auto"
   Option         "Device" "/dev/input/mice"
   Option         "Emulate3Buttons" "no"
   Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
   Identifier     "Keyboard0"
   Driver         "kbd"
   Option         "XkbModel" "pc105"
   Option         "XkbLayout" "us"
EndSection

Section "Monitor"
   Identifier     "Monitor0"
   VendorName     "Unknown"
   ModelName      "Unknown"
   HorizSync    20.0 - 120.0
   VertRefresh  30.0 - 120.0
EndSection

Section "Device"
   Identifier  "Device0"
   Driver      "nvidia"
   VendorName  "NVIDIA Corporation"
   BoardName   "Quadro FX 380"
   Option      "ConnectedMonitor" "DFP"
   Option      "UseDisplayDevice" "DFP-0"
   Option      "CustomEDID" "DFP-0:/etc/X11/HPZ24nq.bin"
   BusID       "PCI:21:0:0"
EndSection

Section "Screen"
   Identifier "Screen0"
   Device     "Device0"
   Monitor    "Monitor0"
   DefaultDepth     24
   Option      "TwinView" "0"
   Option      "metamodes" "DFP-0: 1280x1024 +0+0"
   SubSection "Display"
           Depth     24
   EndSubSection
EndSection

您的電腦需要更改的參數至少是 BusID、DFP、DFP-0、/etc/X11/HPZ24nq.bin。

我使用了從某個監視器獲得的 edid 文件 HPZ24nq.bin。您將能夠設置 EDID 文件中支持的解析度。您可以使用read-edid.

BusID 你可以用lspci. 我不確定你是否需要那個。

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