如何使用 drm_kms_helper 加载 EDID 固件

如何使用 drm_kms_helper 加载 EDID 固件

我的电脑屏幕有些问题,我将其与 KVM 切换器一起使用,但此切换器似乎阻止了屏幕的 EDID 检测,并且由于未检测到屏幕,因此在启动后(Ubuntu 加载徽标通常出现时)屏幕进入睡眠模式。但是使用 nomodeset 内核选项,vesa 驱动程序可以正确检测屏幕并正常工作,但有限制(无硬件加速、鼠标闪烁、无睡眠模式……)。

我做了很多测试(xrandr,建立我自己的 Xorg.conf ...)并最终找到了这个内核补丁:drm:允许将 EDID 作为固件加载以覆盖损坏的显示器 于是我尝试编译自己的内核,并且看到Ubuntu默认内核已经有这个补丁并且配置为在内核上进行编译。

配置-3.2.0-24-通用:

CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y

因此我创建了一个包含以下内容的 /etc/modprobe.d/drm-kms-helper.conf:

cat /etc/modprobe.d/drm-kms-helper.conf
options drm_kms_helper edid_firmware=VGA1:edid/1680x1050.bin

但问题仍然存在,当我启动时屏幕熄灭。即使配置仍可应用:

cat /sys/module/drm_kms_helper/parameters/edid_firmware 
VGA1:edid/1680x1050.bin

我也尝试过以下设置:

=VGA-1:edid/1680x1050.bin
=edid/1680x1050.bin

在Xorg.0.log上系统的行为与以前相同:

[    21.832] (II) intel(0): EDID for output VGA1
[    21.837] (II) intel(0): EDID for output HDMI1
[    21.884] (II) intel(0): EDID for output DP1
[    22.012] (II) intel(0): EDID for output HDMI2
[    22.016] (II) intel(0): EDID for output HDMI3
[    22.064] (II) intel(0): EDID for output DP2
[    22.112] (II) intel(0): EDID for output DP3
[    22.112] (II) intel(0): Output VGA1 disconnected
[    22.112] (II) intel(0): Output HDMI1 disconnected
[    22.112] (II) intel(0): Output DP1 disconnected
[    22.112] (II) intel(0): Output HDMI2 disconnected
[    22.112] (II) intel(0): Output HDMI3 disconnected
[    22.112] (II) intel(0): Output DP2 disconnected
[    22.112] (II) intel(0): Output DP3 disconnected
[    22.112] (WW) intel(0): No outputs definitely connected, trying again...
[    22.112] (II) intel(0): Output VGA1 disconnected
[    22.112] (II) intel(0): Output HDMI1 disconnected
[    22.112] (II) intel(0): Output DP1 disconnected
[    22.112] (II) intel(0): Output HDMI2 disconnected
[    22.112] (II) intel(0): Output HDMI3 disconnected
[    22.112] (II) intel(0): Output DP2 disconnected
[    22.112] (II) intel(0): Output DP3 disconnected
[    22.112] (WW) intel(0): Unable to find connected outputs - setting 1024x768 initial framebuffer

奇怪的是,正如日志中所述,存在 1024x768 的图片,但不会唤醒屏幕。查看它的唯一方法是使用 KVM 从已激活的计算机切换到此计算机。

现在我不知道该追随什么轨迹,我迷失了。

我的问题似乎来自热插拔问题。当我禁用它时,一切都正常。 请参阅此处了解更多详细信息

答案1

我的问题似乎来自热插拔问题。当我禁用它时,一切都正常。 请参阅此处了解更多详细信息

答案2

您可能需要使用内核参数 video=VGA-1:e 明确启用视频端口。

答案3

我看到这个补丁只有 2 天前发布的。如果可以的话,我建议你等到这个补丁被 Linus 接受到树中,然后合并到 Ubuntu 内核团队创建的上游内核中。(我看到他因为这个问题而删除了最后一次修复尝试)。

合并后,你可以尝试使用更新树中的 Ubuntu 主线构建 - 请参阅。这有点复杂,但没有构建自己的内核或使用 dkms 那么复杂。

也可以看看这个问题

相关内容