I use the following service to override the edid on boot.
/etc/systemd/system/edid.service
[Unit]
Description=EDID Override Service
Before=sddm.service
RequiresMountsFor=/usr/lib/firmware/edid/lg.bin
[Service]
Type=oneshot
ExecStart=/bin/sh -c ‘for edid_path in /sys/kernel/debug/dri/*/HDMI-A-1/edid_override; do if [ -f “$edid_path” ]; then cat /usr/lib/firmware/edid/lg.bin > “$edid_path”; fi; done’
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
but after the override Nvidia driver disables VRR.
These are drm_info outputs:
stock.log (114.4 KB)
“vrr_capable” (immutable): range [0, 1] = 1
after override
override.log (115.7 KB)
“vrr_capable” (immutable): range [0, 1] = 0
EDID I’m using for override.
lg.bin.zip (351 Bytes)
The very same EDID override file VRR works fine in X11.
/etc/X11/xorg.conf.d/00-nvidia.conf
Section “Screen”
Identifier “Screen0”
Device “Device0”
Monitor “Monitor0”
DefaultDepth 24
Option “Stereo” “0”
Option “nvidiaXineramaInfoOrder” “DFP-2”
Option “metamodes” “3840x2160_120 +0+0 {AllowGSYNCCompatible=On}”
Option “SLI” “Off”
Option “CustomEDID” “HDMI-0:/usr/lib/firmware/lg.bin”
Option “MultiGPU” “Off”
Option “BaseMosaic” “off”
SubSection “Display”
Depth 24
EndSubSection
EndSection
Section “Device”
Identifier “3090”
Driver “nvidia”
Option “ModeValidation” “AllowNonEdidModes”
EndSection
So… someone… any suggestion ??