我有一台戴尔 P2210 显示器。其EDID数据有些保守。
我目前正在使用以下文件,它按预期工作:
# Ubuntu: /usr/share/X11/xorg.conf.d/20-DELL_P2210.conf
# Other: /etc/X11/xorg.conf.d/20-DELL_P2210.conf
Section "Monitor"
Identifier "DisplayPort-0"
# VendorName "Dell"
# ModelName "P2210"
Modeline "1680x1050_74.00" 148.00 1680 1728 1760 1840 1050 1053 1059 1088 -HSync +VSync
Option "PreferredMode" "1680x1050_74.00"
EndSection
然而,这显然是,相当脆弱:它与我的 GPU 和精确的布线设置绑定。如果我将显示器移至另一个端口,或者将我的 GPU 切换为具有不同插槽或不同 RandR 命名的 GPU,它就会损坏。
我想用一个实际监视器标识符在此 Monitor 指令的 Identifier 字段中,而不是端口标识符目前正在使用中。
我已经搜遍了xorg(5)
联机帮助页;其内容如下(强调是后加的):
节中唯一的强制条目
Monitor
是Identifier
条目。该
Identifier
条目指定唯一的名称对于这个显示器。该Monitor
部分可用于提供有关显示器规格、特定于显示器的信息Options
以及有关与显示器一起使用的视频模式的信息。使用支持 RandR 1.2 的驱动程序,监视部分可能
Device
通过向该部分添加选项来绑定到视频卡的特定输出...
但我找不到该字段的任何语义上正确的值是有效的!
[ 60.634] (II) AMDGPU(0): Manufacturer: DEL Model: 404d Serial#: 1129597523
…
[ 60.634] (II) AMDGPU(0): Serial No: U828K94ICTJS
[ 60.635] (II) AMDGPU(0): Monitor name: DELL P2210
…
[ 73.031] (II) AMDGPU(0): EDID vendor "DEL", prod id 16461
[ 51.733] (II) RADEON(0): Manufacturer: DEL Model: 404d Serial#: 1129597523
…
[ 51.733] (II) RADEON(0): Serial No: U828K94ICTJS
[ 51.733] (II) RADEON(0): Monitor name: DELL P2210
…
[ 70.009] (II) RADEON(0): EDID vendor "DEL", prod id 16461
我已经尝试过所有我能想到的显示器型号、名称、供应商等组合,但这些都不起作用;仅有的 "DisplayPort-0"
做。
我不喜欢用管道胶带将系统上的配置固定在一起,这将需要bus_factor = 1知识(或大量调查)以及一些经验丰富的Linux工程人员来恢复或修复(如果有人(包括未来的自我)这样做)某物完全合理例如,如果当前端口损坏,则将显示器移至另一个端口。
我想放一个监视器标识符在里面监视器的标识符,而不是端口标识符目前就在那里。什么价值可以达到这个目的?我愿意不是您希望冒此配置被错误地应用于与此型号不同型号的显示器的风险,也不想在发生影响其端口的合理更改时此配置无法应用于此显示器。
一般来说,什么值有效在 xorg 配置中的Identifier
某个部分的字段中?Monitor
是否有任何可用于唯一标识显示器(取决于型号或序列号特异性),或者至少将此类识别推迟到其他字段,例如ModelName
和VendorName
?我读过的联机帮助页缺乏这个问题的答案。
(我今天从 Ubuntu MATE 20.04 中询问,但多年来我一直在思考其他几个发行版(包括 Fedora、Arch Linux 和 Gentoo)的问题,所以我相信这不是特定于发行版的怪癖。)