Thanks ! You saved me quite some time here !
In my case, like in arch, I added an extra kernel parameter for it to work. To be honest, I don’t remember why the output needs to be forced.
"video=DP-2:e"
That may help others having trouble with this.
My relevant specs are:
- On DP-2 : Asus PG278Q - limited to 120Hz (even if it’s a 144Hz - I never managed to get it to 144 on linux
- 6900XT
- systemd-boot
wlr-randr once applied :
DP-2 "Ancor Communications Inc ROG PG278Q #ASMlmEIL0ePd (DP-2)"
Make: Ancor Communications Inc
Model: ROG PG278Q
Serial: #ASMlmEIL0ePd
Physical size: 600x340 mm
Enabled: yes
Modes:
2560x1440 px, 59.951000 Hz (preferred)
2560x1440 px, 119.998001 Hz (current)
2560x1440 px, 99.945999 Hz
2560x1440 px, 84.983002 Hz
2560x1440 px, 23.971001 Hz
1920x1200 px, 59.951000 Hz
1920x1080 px, 59.951000 Hz
1600x1200 px, 59.951000 Hz
1680x1050 px, 59.951000 Hz
1280x1024 px, 59.951000 Hz
1440x900 px, 59.951000 Hz
1280x800 px, 59.951000 Hz
1280x720 px, 59.951000 Hz
1024x768 px, 59.951000 Hz
800x600 px, 59.951000 Hz
640x480 px, 59.951000 Hz
Position: 5120,0
Transform: normal
Scale: 1.000000
Adaptive Sync: disabled
The full piece of code for it :
{
boot.kernelParams = [ "drm.edid_firmware=DP-2:edid/edid.bin" "video=DP-2:e" ];
hardware.firmware = [
(
pkgs.runCommand "edid.bin" { } ''
mkdir -p $out/lib/firmware/edid
cp ${../custom-files/edid/edid.bin} $out/lib/firmware/edid/edid.bin
''
)];
}