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.