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
0x01, I believe this is required for VRR
- Make sure
max_Vfreqare correctly set to your monitor’s range (eg. 48-144 Hz)
- I’m not sure but I think
min_Hfreqshould be the same as
max_Hfreq, if it’s not set it to the same as
max_Hfreq(eg. Both 168 kHz)
Applying the EDID (on Wayland)
- Copy the EDID to
drm.edid_firmware=DP-1:edid/monitor.binto your kernel command line, replacing
DP-1with your monitor’s connector name, and
monitor.binwith the EDID file name.
- You may need to create an initramfs hook script, I used this one.
You can specify multiple EDIDs in the kernel command line using a comma, eg.
Thanks for reading!