Hello,
I’m trying to get a custom EDID for my monitor copied over to the /lib/firmware/ folder (under an EDID subdirectory). I am then using this EDID as part of my kernel params.
I have this in my nix.conf:
hardware.firmware = [
(pkgs.runCommandNoCC "firmware-custom-edid" {} ''
mkdir -p $out/lib/firmware/edid/
cp "${./firmware/QX2710Patched.bin}" $out/lib/firmware/edid/QX2710Patched.bin
'')
];
boot.kernelParams = ["quiet" "drm_kms_helper.edid_firmware=DP-3:edid/QX2710Patched.bin"];
This builds fine but when I check the result\firmware directory there is no edid directory. On reboot the EDID file can’t be loaded:
[ 0.033829] Kernel command line: initrd=\efi\nixos\iz83zwfddldfkygy992wvyp0v5qp0b1z-initrd-linux-6.1.43-initrd.efi init=/nix/store/a8c33i6l67251xp11i6b23q366rzdqyw-nixos-system-nixos-23.11pre511168.5a8e9243812b/init quiet drm.edid_firmware=DP-3:edid/QX2710Patched.bin splash loglevel=4
[ 4.327066] platform DP-3: Direct firmware load for edid/QX2710Patched.bin failed with error -2
[ 4.327077] [drm:edid_load [drm]] *ERROR* Requesting EDID firmware "edid/QX2710Patched.bin" failed (err=-2)
Does anyone have any idea on what I’m doing wrong?
Thanks!
Ross