这个问题接近我想要的东西,但没有达到目标。
经过一些冒险尝试将 xrandr 中显示的设备名称获取到 xorg.conf 中我开始希望有一个 X11 工具可以像 xrandr 那样枚举它在系统上看到的所有显示设备,还让你发现他们在什么 PCI 总线上这样您就可以确定每台设备的硬件来源是什么。
就目前情况而言,您必须使用不同的工具来获取该信息,或者通过 Xorg 日志将多行信息拼凑在一起,以将输出显示或屏幕名称与 PCI 总线相关联。
当然可以跑启动x作为一个整体,然后查看 Xorg 日志 (/var/log/Xorg.0.log),但是当您想要做的是在实际尝试启动 X 并将其放入 Xorg 之前探测该信息时,这是很麻烦的.conf。人们可能希望 Xorg 有一个 --dry-run 选项或其他选项来探测 GPU 的 PCI 总线,将其转储到屏幕而不是日志。基本上,一个易于使用的命令行工具就是我所希望的。
可悲的是,看来/bin/X或者/bin/Xorg早在 2005 年,实用程序就有两个漂亮的开关,出现在其较旧的手册页中:
-probonly 导致服务器在设备探测阶段后退出。当给出此选项时,仍然使用 xorg.conf(5x) 文件,因此应注释掉可以自动检测的信息。
-scanpci 当指定此选项时,Xorg 服务器扫描 PCI 总线,并打印出有关检测到的每个设备的一些信息。另请参见 scanpci(1) 和 pcitweak(1) 。来源
这将是完美的,但可惜它已经消失了。
在我看来,xrandr --listproviders
应该列出 PCI 总线和输出屏幕以及提供程序名称(可能带有详细标志),但事实并非如此。
除了猜测如何将 lspci + xrandr + 查看 Xorg 日志中的信息拼接在一起之外,还有什么其他选择?
(我想知道使用正则表达式或其他东西编写自定义代码来解析 Xorg 日志 [在 perl、bash、python 或其他中] 是否是尝试将 PCI 总线与正确的相应 Xorg“屏幕标签”关联起来的唯一方法,例如eDP-1 等。虽然弄清楚如何关联它们的逻辑可能有点复杂。)