我的系统包含三张显卡,一张 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"
这很黑客,但它解决了我的主要问题。
我现在仍然不接受这个答案,因为我对更好、更干净的解决方案感兴趣。