Some monitors don’t properly report their capabilities (EDID - Extended Display Identification Data) to Linux systems during early boot, causing incorrect resolutions or no video output. You can fix this by incorporating custom EDID data into the initrd image.
First, extract the EDID from a working system. Install the required tools:
| |
Extract and verify the EDID:
| |
Transfer the file to your target system and copy it to the firmware directory:
| |
Create a hook script to add the EDID firmware to the initrd:
| |
Make it executable and regenerate initramfs:
| |
Configure the kernel to use the custom EDID. For GRUB, edit /etc/default/grub and add to GRUB_CMDLINE_LINUX:
| |
Or for specific connectors:
| |
Update GRUB and reboot:
| |
Your display will now use the correct EDID from early boot, ensuring proper resolution and video output.
Resources: