我收到如下错误:
[ 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,最重要的魔法是nomodeset
和noedid
,至少你可以尝试添加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-16
或1600x1200-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
重新启动...垃圾邮件投诉就消失了。