My Samsung LC24RG50 supports FreeSync, but it wouldn’t play nice with my Intel ARC GPU, so I ended up force enabling it in the EDID.
Modifying the EDID
After a bunch of troubleshooting, I did end up making my monitor present a VRR EDID, which I dumped here, but here’s the things you should modify if you can’t:
- Acquire your monitor’s EDID, I used
get-edid > monitor.bin - Using wxEDID, view the EDID’s MRL section
- Set
extd_timgto0x01, I believe this is required for VRR - Make sure
min_Vfreqandmax_Vfreqare correctly set to your monitor’s range (eg. 48-144 Hz) - I’m not sure but I think
min_Hfreqshould be the same asmax_Hfreq, if it’s not set it to the same asmax_Hfreq(eg. Both 168 kHz)
Applying the EDID (on Wayland)
- Copy the EDID to
/usr/lib/firmware/edid/ - Add
drm.edid_firmware=DP-1:edid/monitor.binto your kernel command line, replacingDP-1with your monitor’s connector name, andmonitor.binwith the EDID file name. - You may need to create an initramfs hook script, I used this one.
- Reboot
Multiple EDIDs
You can specify multiple EDIDs in the kernel command line using a comma, eg. drm.edid_firmware=DP-1:edid/monitor1.bin,DP-2:edid/monitor2.bin
Thanks for reading!
Steve.
Comments
Reply