如何在 GPU 上的给定输出(或所有输出)上强制显示内核启动消息?

如何在 GPU 上的给定输出(或所有输出)上强制显示内核启动消息?

我在一台机器 (GTX770) 上使用 2 个 GPU,并且有 2 个屏幕连接到 2 个输出 (DVI1 和 DVI2)。我无法决定将一个屏幕插入一个 GPU 上,将另一个屏幕插入另一个 GPU 上(出于充分的理由... ;-))。

我们将 MS 命名为主屏幕:最终用户与其交互。我们将 TS 命名为另一个屏幕(技术屏幕,我们的系统使用它来处理技术内容)。

我的问题是:当系统启动(Linux 版本 3.1.9-1.4-desktop(geeko@buildhost)(gcc 版本 4.6.2(SUSE Linux))时,内核启动消息有时会显示在 MS 上,有时则会显示在 TS 上。

我希望它们始终显示在 MS 上,因为当启动失败时,我不能让用户面对黑屏(紧急模式显示在 TS 上,最终用户看不到)。

一些额外的信息: - 我谈论的是 X 启动之前内核的消息。 - 当启动消息显示在 TS 上时,我在 Xorg 日志中看到:

[ 17.203] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:2:0:0
[ 17.203] (--) NVIDIA(0): CRT-0
[ 17.203] (--) NVIDIA(0): DFP-0
[ 17.203] (--) NVIDIA(0): DFP-1
[ 17.203] (--) NVIDIA(0): DFP-2
[ 17.203] (--) NVIDIA(0): DFP-3 (boot)
[ 17.203] (--) NVIDIA(0): DFP-4

并且我已经检查过 DFP-3 是否是 TS(通过 nvidia-settings:如果我更改 DFP-3 的颜色曲线,TS 会受到影响)。 - 当启动消息显示在 MS 上时,我在 Xorg 日志中看到:

[ 17.203] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:2:0:0
[ 17.203] (--) NVIDIA(0): CRT-0
[ 17.203] (--) NVIDIA(0): DFP-0
[ 17.203] (--) NVIDIA(0): DFP-1
[ 17.203] (--) NVIDIA(0): DFP-2
[ 17.203] (--) NVIDIA(0): DFP-3 (boot)
[ 17.203] (--) NVIDIA(0): DFP-4

=> 相同 我不确定,但我相信在上述两种情况下主板启动画面都显示在 TS 上。但有时它会显示在 MS 上(我没有这种情况的 Xorg 日志)。

在上述两种情况下,DFP-3 都是相同的屏幕 (TS):

[ 17.888] (--) NVIDIA(0): DFP-3 Name Aliases:
[ 17.888] (--) NVIDIA(0): DFP
[ 17.888] (--) NVIDIA(0): DFP-3
[ 17.888] (--) NVIDIA(0): DPY-10
[ 17.888] (--) NVIDIA(0): DVI-D-0
[ 17.888] (--) NVIDIA(0): DVI-D-0

我在这里迷茫了:我想说,因为 NVIDIA 命名似乎很稳定,所以可能是 BIOS 发送了不同的参数……但我不知道。也许屏幕上“你好,我在这里,我的名字是……我的 edid 是……”消息的顺序不稳定,NVIDIA 设备选择第一个接收“你好”的输出作为“启动输出”……

我想要实现的目标: - 能够修复启动消息的给定输出(DVI-D-0) - 或者在两个屏幕上显示启动消息。

感谢您读到这里。如果您有解决方案,我将不胜感激!

我尝试了一些内核选项(例如 video=DVI-D-0:d)但无济于事。

当然,如果您需要更多配置详细信息,我很乐意为您提供帮助!

答案1

我得到了类似的东西。

我有两张 NVidia 卡:

  1. GeForce GTX 960,插入两台显示器:
    • DP-4:华硕PB287Q
    • HDMI-0:三星(KS-8000)
  2. GeForce GTX 560 Ti,未插入任何显示器。它也在 X(/etc/X11/xorg.conf)中被禁用,并且不起作用。

在启动过程中,我没有收到主显示器(PB287Q,插入 Displayport-4)的任何显示信号。我需要使用三星电视来观察启动顺序。

此外,当 X 窗口管理器(lightdm,我在 Ubuntu 16.04 上用的是 lightdm)启动时,它总是默认为三星电视,尽管我尝试强制将华硕显示器作为主显示器(在 xorg.conf 中,并使用 nvidia-settings 配置工具),并让两个显示器无差别地互相镜像。

Asus 显示器有一个选项,可以选择“DisplayPort Stream”1.1 或 1.2。我以为选择 1.2 将有助于将其识别为主显示器。不幸的是,这根本不起作用。

当且仅当 HDMI 被拔出时(即使屏幕没有通电),启动序列显示才会发送到 DisplayPort。

相关内容