How to fix "no EDID read" on Linux 5.6.0

I just ran into this exact problem the OP specifies.

This bug is still present in Linux 5.6.0 on Ubuntu.

If you can get your EDID bin, or generate your own using: https://github.com/akatrevorjay/edid-generator/

Put that file inside /usr/lib/firmware/edid/ (create the folder if it doesn’t exist)

Then add the file to your initramfs using: update-initramfs -k all -c

Then put this into your kernel boot args
drm.edid_firmware=DP-1:edid/YYYYYY.bin video=DP-1:e

The key is to specify the video=XXXX:e to force-on the monitor.

Run update-grub

Thanks to Ivan at https://bugzilla.kernel.org/show_bug.cgi?id=201497#c15 for finding the fix.

Lastly, to find the display ID:
for p in /sys/class/drm/*/status; do con=${p%/status}; echo -n "${con#*/card?-}: "; cat $p; done

3 Likes

Hey @Josh_Jameson

Thank you for posting a solution for this problem, I moved your post to new thread since this issue clearly deserves better visibility. Also we have quite strict rule on reviewing threads that are over 6 months old. FAQ has more info about this.

Feel free to edit the tittle to be more appropriate. :slight_smile:

I’ve just run into this issue with my new PC with an RX6700XT and my Acer XB270H monitor and your post has been a major help!
For future reference, I’d like to add how I obtained the EDID bin file.

I connected the monitor back to my old pc with an nvidia gpu, where it was working fine and used the following script to store the EDID in a file:

find the name of the output using:

xrandr --props

store the edid data in a file using:

python get-edid.py DP-1 > monitor.bin

afterwards I copied the file to a thumb drive and followed your steps on my new machine, which worked flawlessly with native 1080p resolution and 144hz :partying_face:

(sorry for reviving this thread, but after hours of searching I wanted to put this information somewhere useful)

You’re welcome :slight_smile: I too spent hours finding the solution. I had the problem with an XB270HU. It must be an issue with this range of monitors from Acer. I no longer use this monitor but I’m glad it helped you.

it seems so, yeah. I’m curently in the process of finding a better monitor anyway as my gpu seems a bit underutilized at 1080p but until I get that I needed it to work :stuck_out_tongue:

sorry to resurrect this thread but im having this problem with my second monitor (its why I have two now) on Nobara 37 currently as well as all distros and its driving me mad.

I discovered the EDID with a tool recommended by nvidia and then exported that to .bin with a slightly old and defunct version of EDID manager on windows.

A bit of digging lead to discovering some unique and alien tools that don’t match up with this threads guide. Namely, Dracut for initramfs generation.

sudo dracut -f --regenerate-all

I possibly also wrongly assumed that the kernel arguments are the sort you place at the end of quiet splash in grub (also first time using this feature) but it seemed to be the case.

Accessing the grub command line also appears to get me nowhere as there’s no access to sudo,update-grub or, also recently learned, grub2 update (meant to be used from desktop cli or apparently not at all)

grub2-mkconfig -o /etc/grub2-efi.cfg

it appears in fedora my only option is to boot straight away and take care of any other odds and ends with grubby? whoever he is.
I can only assume my EDID .bin file is a bust or my inputs are all wrong.

xrandr --query

seems to show the monitor in question is indeed DP-0 which conflicts with this threads command output of DP1

another attempt was made borrowing from this (cant link it new user but its on github) kernel argument instead of the one found in k1ngjuliens reddit thread (nearly identical but seems to change the name of the /usr/lib/firmware/edid folder, havent tried renaming it and not sure if its important)

I just want my boy back home :sob: any help appreciated

DP-0 and DP1 is just the port. If you have multiple ports (including your motherboard and GPU) then they will all have their own IDs.

I tried this a year later and couldn’t get the edid-generator to generate a working .bin file, so perhaps you ran into the same problem.

I ended up giving up and buying a monitor that wasn’t a piece of crap. My monitor was one of the first ever G-SYNC 1440p IPS monitors, I guess the way they wrote the firmware EDID was a bit clunky to get around the early implementation of G-SYNC, but it is still incredibly annoying, especially when I no longer even have an Nvidia card to use G-SYNC.