From 3dc72fae027b2fa351b12ebc28053d257044f3eb Mon Sep 17 00:00:00 2001 From: Antoine Viallon Date: Wed, 12 Oct 2022 18:46:27 +0200 Subject: [PATCH] [Hardware/Intel] Cleanup intel iGPU specific options littered all over the place --- general.nix | 3 --- hardware/intel.nix | 41 +++++++++++++++++++++++++++++++++-------- laptop.nix | 3 --- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/general.nix b/general.nix index 4cbfd4c..25cb970 100644 --- a/general.nix +++ b/general.nix @@ -91,9 +91,6 @@ in aviallon.boot.cmdline = mkIf cfg.unsafeOptimizations { mitigations = "off"; - "i915.mitigations" = "off"; - "i915.enable_dc" = 4; - "i915.fastboot" = 1; }; powerManagement.cpuFreqGovernor = mkDefault "schedutil"; diff --git a/hardware/intel.nix b/hardware/intel.nix index 45fc5ef..7e483b1 100644 --- a/hardware/intel.nix +++ b/hardware/intel.nix @@ -2,25 +2,50 @@ with lib; let cfg = config.aviallon.hardware.intel; + generalCfg = config.aviallon.general; + laptopCfg = config.aviallon.laptop; + devCfg = config.aviallon.developer; in { options.aviallon.hardware.intel = { enable = mkEnableOption "Intel GPUs"; + iHD = mkEnableOption "Use iHD driver instead of i965"; }; config = mkIf cfg.enable { boot.initrd.kernelModules = [ "i915" ]; hardware.opengl = { enable = true; - extraPackages = with pkgs; [ - # intel-media-driver # LIBVA_DRIVER_NAME=iHD - vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) - vaapiVdpau - libvdpau-va-gl + extraPackages = with pkgs; [] + ++ [ + vaapiVdpau + libvdpau-va-gl - intel-graphics-compiler - intel-compute-runtime - ]; + intel-graphics-compiler + intel-compute-runtime + ] + ++ optional cfg.iHD intel-media-driver # LIBVA_DRIVER_NAME=iHD + ++ optional (!cfg.iHD) vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) + ; + }; + + aviallon.boot.cmdline = {} + // optionalAttrs generalCfg.unsafeOptimizations { + "i915.mitigations" = "off"; + "i915.enable_fbc" = 1; + } + // optionalAttrs laptopCfg.enable { + "i915.enable_fbc" = 1; + "i915.enable_dc" = 4; + } + // optionalAttrs (generalCfg.unsafeOptimizations && laptopCfg.enable) { + "i915.enable_psr" = 1; + } + // optionalAttrs devCfg.enable { + "i915.enable_gvt" = 1; + } + // { + "i915.fastboot" = 1; }; }; } diff --git a/laptop.nix b/laptop.nix index 9d45abc..80c46e0 100644 --- a/laptop.nix +++ b/laptop.nix @@ -28,9 +28,6 @@ in { hardware.sensor.iio.enable = mkDefault true; aviallon.boot.cmdline = { - "i915.enable_fbc" = 1; - "i915.enable_gvt" = 1; - # Less power consumption vs some performance loss "workqueue.power_efficient" = ""; nohz = "on";