How to eliminate EDID checksum errors?
From an answer at linuxforums:
Set the video settings for kernel boot options via grub:
sudo nano /etc/default/grub
Add this line, or change it to this, or add this to the current line (if you know what you're doing). You can adjust the mode_options, the most import magic is nomodeset
and noedid
, minimally you can try just adding the noedid
:
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset video=uvesafb:mode_options=1024x768-16@60,mtrr=0,scroll=ywrap,noedid"
This turns off KMS mode switching in the kernel; Use the uvesafb frame buffer; Set it to a resolution of 1024x768, with a depth of 16 at 60 Hz sync rate (other options can be 1920x1080-16
, or 1600x1200-32@50
, depends on your hardware) ; disable the memory type range registers (mtrr) for the framebuffer; enable display panning in a wrap-around mode, using VESA protected mode; do not probe the display to check for edid data. When you switch over to it or connect it to a monitor, then it should be set to that mode (already).
sudo update-grub
To make the grub settings get written to your /boot. Reboot and check it's working, with noedid you won't necessarily get a working display if you plug a different monitor in, possibly it could break (eg if the frequency is set higher than the display can handle; though I think modern displays avoid this).
If it still doesn't work try:
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset text"
and uncomment (remove the #)
#GRUB_TERMINAL=console
Which makes everything work in text only mode. Update grub, reboot.
I found that the cause of my problem was different and the above solution did not work. However, I did find a solution.
In my case the monitor I was using was old enough that it did not support the later means the kms kernel uses to extract the edid. It was necessary to:
sudo apt install read-edid
sudo get-edid -c > /lib/firmware/classic_edid.bin
The key there is the -c which uses an older way to get the edid. Then edit /etc/default/grub so that
GRUB_CMDLINE_LINUX_DEFAULT="drm_kms_helper.edid_firmware=classic_edid.bin <whatever else was already there>"
sudo update-grub
reboot and ... spammy complaint gone.