无法创建分配给第二张显卡的第二个 X 屏幕

无法创建分配给第二张显卡的第二个 X 屏幕

看来 X 服务器只允许这台 PC 上有一个 X 屏幕,第二个屏幕Section "Screen" Identifier "Screen1"什么也不做,但 GPU-1 及其连接的显示器即使无法激活也能被识别。我使用以下设置:

  1. RTX3090 开启PCI:1:0:0(GPU-0)
    • DP-2:三星 LC49G95T
  2. RTX3090 搭载PCI:78:0:0(GPU-1)
    • HDMI-1-2: 华硕 VG27AQL1A
    • HDMI-1-1:华硕 XG17A
  • 监视器设置应该是这样的:(运行 arandr 脚本后显然会抛出 XRandR 失败错误消息XRandR failed: XRandR returned error code 1: b'xrandr: Configure crtc 4 failed\n':)

阿兰德

  • 重启后使用nvidia-settings的配置文件仍然没有用

nvidia-设置

  • X 屏幕 0 必须包含DP-2和 X 屏幕 1,HDMI-1-1以及HDMI-1-2
  • /etc/X11/xorg.conf.d/*仅包含00-keyboard.conf30-touchpad.conf,均包含InputClass部分
  • 已尝试将xorg.conf文件移动到,xorg.conf.d但不良影响仍然存在,两个 HDMI 显示器都无法激活。
  • 我想使用nfancurve脚本来控制两个 GPU 的风扇速度,因此"Coolbits" "4"
  • 令人惊讶的是,将三台显示器连接到一个 GPU 可以使它们可用,并且可以激活它们。
  • 此外,将标识符替换"Device0""Device1",反之亦然,使得HDMI-1HDMI-2监视器能够激活,但DP-1-2只能被识别但不能被激活。好像这台机器不允许我使用一些GPU-1
  • 我怀疑我的xorg.conf驱动程序缺少了某些东西(可能是 EDID 关闭了?),经过一番谷歌搜索,发现有一位用户也遇到了同样的“没有 X 屏幕 1”的问题,但升级驱动video-nvidia程序后,X 服务器可以识别第二个 X 屏幕。不过,我不愿意升级(或降级)到 manjaro 的“测试版”驱动程序,也不知道该怎么做。

/etc/X11/xorg.conf

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 465.31

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" 5120 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
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"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Samsung"
    ModelName      "Samsung LC49G95T"
    HorizSync       357.0 - 357.0
    VertRefresh     60.0 - 240.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Asus ROG"
    ModelName      "AUS ASUS XG17A"
    HorizSync       30.0 - 255.0
    VertRefresh     48.0 - 240.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Screen          0
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce RTX 3090"
    BusID          "PCI:1:0:0"
#    Option         "UseDisplayDevice" "DP-2"
#    Option         "ConnectedMonitor" "DP-2"
    Option         "Coolbits" "4"
EndSection

Section "Device"
    Identifier     "Device1"
    Screen          1
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce RTX 3090"
    BusID          "PCI:78:0:0"
#    Option         "UseDisplayDevice" "HDMI-1-2"
#    Option         "ConnectedMonitor" "HDMI-1-2, HDMI-1-1"
    Option         "Coolbits" "4"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "nvidiaXineramaInfoOrder" "DFP-5"
    Option         "Stereo" "0"
    Option         "metamodes" "5120x1440_120 +0+0 {AllowGSYNC=Off}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "metamodes" "HDMI-1-2: nvidia-auto-select +0+0 {AllowGSYNC=Off}, HDMI-1-1: nvidia-auto-select +1440+0 {rotation=left}"
    #    Option         "metamodes" "HDMI-1-1: 1920x1080_240 +2560+960 {rotation=left}, HDMI-1-2: 2560x1440_144 +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

~/.local/share/xorg/Xorg.1.loghttps://pastebin.com/PQZV0Hiq

答案1

我找到了一个(可能的)解决方案,它包括将 nvidia-drm.modeset 内核参数设置为“1”,即nvidia-drm.modeset=1,并使用 xrandr。
不再需要 xorg.conf,必须将其删除以免干扰 xrandr。
更多信息:https://forums.developer.nvidia.com/t/manjaro-linux-trouble-creating-additional-xscreen/200434

相关内容