This is my first post on Blurbusters. I have heard very good things about this forum for sharp-eyed people like me

I have a Viewsonic XG2401 monitor which has a default refresh rate range of 48-146 according to edid-decode:
Code: Select all
Display Range Limits:
Monitor ranges (Bare Limits): 48-146 Hz V, 180-180 kHz H, max dotclock 340 MHz
Display Product Name: 'XG2401 SERIES'
This is already known on this forum:
viewtopic.php?t=13250
The solution is also known: tweak the LFC lower range to 30 or 36 hz, according to @yamaci1775 in the mentioned thread.
However, he does that using a tool called CRU which is a Windows thing.
So, what does CRU do under the hood? Apparently, it simply hacks around the EDID values on the Windows registry:
"CRU creates software EDID overrides in the registry and does not modify the hardware."
...so I would have to override the EDID of the Viewsonic XG2401 monitor to lower lower limit in the VRR range, I guess.
I've got the monior EDID, which on GNU/Linux lives in /sys/class/drm/card0-DP-1/edid, and I tried to edit it using "AW EDID Editor", which is a Windows program but works perfectly using WINE.
According to Archlinux instructions to change VRR range limits, in order to change the VRR range of the monitor I have to change the values in:
EDID Base > Detailed Descriptor > Block Descriptor > Block 2
and there I have to change:
Block Descriptor Type > Display > Range Limits
The problem is that the values in Range Limits are empty: Any idea on how to proceed? I'm almost there apparently, but not quite there...
If this part of the EDID is empty, how does drm/wayland/wlroots know about the range that edid-decode is showing me?
