Ask Your Question

Revision history [back]

I had the same problem and the following solution seems to be working for now.

First, you'll need to clone edid-generator. Then you can pass it your modeline (with the same arguments you gave xrandr --newmode:

$ ./modeline2edid - <<< 'Modeline "3840x2160" 533.6 3840 3982 4027 4064 2160 2170 2180 2190 +hsync +vsy'

Then generate the edid binary with make. Then following this on archwiki, you can copy the generated 3840x2160.bin file in /usr/lib/firmware/edid. Then restart and edit the kernel command line (pressing e in grub) to add drm_kms_helper.edid_firmware=edid/3840x2160.bin.

If everything worked correctly, your screen should have the desired resolution once the boot is finished.

To make it permanent

Add GRUB_CMDLINE_LINUX_DEFAULT="drm_kms_helper.edid_firmware=edid/3840x2160.bin" to /etc/default/grub and regenerate the grub configuration:

# grub2-mkconfig -o /boot/grub2/grub.cfg

That's assuming your machine uses grub on a BIOS system, see this for EFI and this for other bootloaders.