Copying Custom EDID

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
    ''
  )];
}