Custom EDID for intel i915 KMS on Fedora
Recently I started using my old DELL U2412M monitor on a system with integrated Intel graphics. As the motherboard exposes HDMI output only, and my monitor has DVI-D, I used some cheap passive DVI-D to HDMI adapter signal adapter. Unfortunately in this setup the card was not able to receive EDID info. Combine that with early KMS enabled on Fedora, all I could get is a blank screen with a timing error warning.
It is possible to set custom EDID on Fedora following these steps:
-
Get a valid EDID file
This is a file I found online (U2412M.bin), and quickly checked it with a
parse-edid
tool. It is also possible to extract valid EDID from another system, where EDID is correctly recognized. -
Move the file to /usr/lib/firmware/edid
-
Edit grub config file
Edit
/etc/defaults/grub
and add this option toGRUB_CMDLINE_LINUX
:drm_kms_helper.edid_firmware=HDMI-A-1:edid/U2412M.bin
I also set
video=HDMI-A-1:D
option to force output to be connected even if I disconnect the cable.Regenerate the grub config file with
grub2-mkconfig > /boot/grub2/grub.cfg
-
Rebuild initramfs
KMS is set early, from initramfs so we need to include our EDID file in the generated initrd.
I’ve added
install_items+=" /usr/lib/firmware/edid/U2412M.bin "
to/etc/dracut.conf.d/99-local.conf
and useddracut -f
to rebuild the active initrd.Check with
lsinitrd
that the EDID file is included. -
Reboot
Solved, and no need for these HDMI dummy plug - EDID emulator!
References: