diff options
author | aszlig <aszlig@nix.build> | 2018-04-23 05:09:29 +0200 |
---|---|---|
committer | aszlig <aszlig@nix.build> | 2018-04-23 05:09:29 +0200 |
commit | 0c722e889da16df441556b7642381f54228370db (patch) | |
tree | 5e847431f778bde862f5b713daab22a7fc64c196 /machines | |
parent | f0c4edace70d63faddb3c0d66523d78b232ead98 (diff) |
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 <aszlig@nix.build>
Diffstat (limited to 'machines')
-rw-r--r-- | machines/aszlig/managed/shakti.nix | 15 |
1 files changed, 15 insertions, 0 deletions
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" <<EOF + AP///////wAEaaEiAQEBASQRAQOALx1477U1pVZKmiUQUFS/74BxT4GAlQCzAAEBlQ+BioFA + ITmQMGIaJ0BosDYAsQ4RAAAcAAAA/QA3Sx5QEQIAIFBYAoAoAAAA/wA3OUxNTVMwMDAyMDAK + AAAA/ABBU1VTIFBHMjIxCiAgAc8CAxABSwIRBBMFFBAfCQAAjArQiiDgLRAQPpYAE44hAAAY + AR0AclHQHiBuKFUAxI4hAAAYAR2AGHEcFiBYLCUAxI4hAACe8zmAGHE4LUBYLEUAxI4hAAAe + jArQkCBAMSAMQFUAE44hAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAASw== + EOF + ''); + environment.systemPackages = with pkgs; [ mosh wget krita gphoto2 digikam unfreeAndNonDistributablePkgs.dropbox firefox |