不确定的显卡设备名称

不确定的显卡设备名称

我的系统包含三张显卡,一张 radeon 和两张 nvidia。

我正在尝试配置多座设置,但显卡的“设备名称”不稳定,它从一个启动更改为另一个启动。

例子

  • 启动1

    Radeon卡 /sys/devices/pci0000:00/0000:00:03.0/0000:01:00.0/drm/card1

    英伟达 1 张卡 /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/drm/card0

    英伟达2卡 /sys/devices/pci0000:00/0000:00:1c.4/0000:04:00.0/drm/card2

  • 启动2

    Radeon卡 /sys/devices/pci0000:00/0000:00:03.0/0000:01:00.0/drm/card0

    英伟达 1 张卡 /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/drm/card1

    英伟达2卡 /sys/devices/pci0000:00/0000:00:1c.4/0000:04:00.0/drm/card2

ETC...

此问题使任何多席位配置不稳定(我使用 loginctl),因为将设备分配给席位是基于这些设备名称。另一个真正的问题是,这会在内核级别和 Xorg 级别更改显卡的连接器名称(即 VGA-1 变为 VGA-2 等...),因此我无法通过 xorg.conf 进行任何显示器配置,也无法使用“ video=" 内核选项,我的设置中需要该选项来强制启用没有 EDID 的旧 crt 显示器。

这个“card0”“card1”..是不确定的,这是正常的吗?这是一个错误还是可以配置的东西(udev或类似的东西)?

编辑:

正如用户 @dirkt 在评论中所说,在 systemd 级别它是不确定的,事实上多座位配置本身是可以的。我的主要问题是输出名称的不可靠性。我需要它们在内核级别指定“video=VGA-1:e”以强制启用输出。我需要在 xorg 级别使用 Option "Monitor-VGA-1" "Monitor-x".

答案1

我还没有设法解决这个问题,但我找到了输出名称的解决方法:

  • 在内核启动选项中,我激活了三个 VGA 连接器:

    video=VGA-1:e video=VGA-2:e video=VGA-3:e
    
  • xorg.conf在我为所有可能的输出定义监视器选项的设备部分中,不相关的输出将被简单地忽略:

    Option "Monitor-VGA-1"  "my-monitor"
    Option "Monitor-VGA-2"  "my-monitor"
    Option "Monitor-VGA-3"  "my-monitor"
    

这很黑客,但它解决了我的主要问题。

我现在仍然不接受这个答案,因为我对更好、更干净的解决方案感兴趣。

相关内容