From 0c722e889da16df441556b7642381f54228370db Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 23 Apr 2018 05:09:29 +0200 Subject: machines/shakti: Provide EDID information The monitor reports back EDID via DVI but the HDMI->DVI adapter seems to not handle that correctly. Also the monitor has weird resolutions, so using the fallback modes provided by the kernel also doesn't seem to work and the monitor stays blank. While hardcoding the EDID information isn't a very good idea for this machine in general (because it might be connected to a different monitor), for now this is the easiest workaround because I don't have access to that machine. Signed-off-by: aszlig --- machines/aszlig/managed/shakti.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/machines/aszlig/managed/shakti.nix b/machines/aszlig/managed/shakti.nix index 24f2b952..9e7856b8 100644 --- a/machines/aszlig/managed/shakti.nix +++ b/machines/aszlig/managed/shakti.nix @@ -22,6 +22,21 @@ boot.kernelModules = [ "kvm-amd" ]; + # The machine has a weird HDMI->DVI adapter which doesn't report back EDID + # information and the monitor is also very weird because it doesn't + # understand the fallback modes. + boot.kernelParams = [ "drm_kms_helper.edid_firmware=edid/weird.bin" ]; + hardware.firmware = lib.singleton (pkgs.runCommand "weird-edid" {} '' + mkdir -p "$out/lib/firmware/edid" + base64 -d > "$out/lib/firmware/edid/weird.bin" <