如何消除EDID校验和错误?

如何消除EDID校验和错误?

我收到如下错误:

[   17.774473] [drm:drm_edid_block_valid [drm]] *ERROR* EDID checksum is invalid, remainder is 209

在启动我的 Ubuntu Server 16.04.3 系统期间和之后不久。我绝对没有 X-Windows安装在系统上,所以请不要告诉我更改 /etc/X11/xorg.conf,因为该文件不存在。我很沮丧,因为我能找到的唯一帮助是更改 X 配置文件,这显然不是我需要的解决方案。

我只是用普通的老的VGA 显示器,因为该系统位于通讯柜中,没有人看屏幕。视频卡上有一个 DVI 端口,但未使用。显示器工作正常,所以我希望有人能告诉我如何让系统停止显示此 EDID 校验和——否则,当我在本地显示器上进行系统配置、扫描等操作时,系统偶尔会吐出该消息。

编辑:添加请求的命令输出

$ lspci -k | grep -EA3 'VGA|3D|Display'
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] R480 [Radeon X800 GTO]
    Subsystem: PC Partner Limited / Sapphire Technology R480 [Radeon X800 GTO]
    Kernel driver in use: radeon
    Kernel modules: radeon
01:00.1 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] R480 [Radeon X800 GTO] (Secondary)
    Subsystem: PC Partner Limited / Sapphire Technology R480 [Radeon X800 GTO] (Secondary)
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5754 Gigabit Ethernet PCI Express (rev 02)
    Subsystem: Dell Precision 390

FWIW,使用以下命令运行时输出相同须藤

答案1

来自Linux论坛

通过 grub 设置内核启动选项的视频设置:

sudo nano /etc/default/grub

添加此行,或将其更改为此行,或将此行添加到当前行(如果您知道自己在做什么)。您可以调整 mode_options,最重要的魔法是nomodesetnoedid至少你可以尝试添加noedid

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset video=uvesafb:mode_options=1024x768-16@60,mtrr=0,scroll=ywrap,noedid"

这将关闭内核中的 KMS 模式切换;使用 uvesafb 帧缓冲区;将其分辨率设置为 1024x768,深度为 16,同步率为 60 Hz(其他选项可以是1920x1080-161600x1200-32@50,取决于您的硬件);禁用帧缓冲区的内存类型范围寄存器 (mtrr);使用 VESA 保护模式以环绕模式启用显示平移;不要探测显示器来检查 edid 数据。当您切换到它或将其连接到显示器时,它应该已经设置为该模式。

sudo update-grub

使 grub 设置写入您的 /boot。重新启动并检查它是否正常工作,使用 noedid,如果您插入不同的显示器,则不一定能获得正常工作的显示,它可能会损坏(例如,如果频率设置得高于显示器可以处理的频率;尽管我认为现代显示器可以避免这种情况)。

如果仍然不起作用请尝试:

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset text"

并取消注释(删除#)

#GRUB_TERMINAL=console

这使得所有内容都在纯文本模式下工作。更新 grub,重启。

答案2

我发现我的问题的原因不同,上述解决方案不起作用。不过,我确实找到了解决办法。

就我而言,我使用的显示器太旧了,不支持 kms 内核用于提取 edid 的后续方法。因此,必须:

sudo apt install read-edid
sudo get-edid -c > /lib/firmware/classic_edid.bin

关键是 -c,它使用较旧的方式获取 edid。然后编辑 /etc/default/grub,以便

GRUB_CMDLINE_LINUX_DEFAULT="drm_kms_helper.edid_firmware=classic_edid.bin <whatever else was already there>"

sudo update-grub

重新启动...垃圾邮件投诉就消失了。

相关内容