diff --git a/common/cpu/intel/comet-lake/default.nix b/common/cpu/intel/comet-lake/default.nix index 25af65fe1..3c688f50d 100644 --- a/common/cpu/intel/comet-lake/default.nix +++ b/common/cpu/intel/comet-lake/default.nix @@ -3,6 +3,4 @@ ./cpu-only.nix ../../../gpu/intel/comet-lake ]; - - hardware.intelgpu.vaapiDriver = "intel-media-driver"; } diff --git a/common/gpu/intel/broadwell/default.nix b/common/gpu/intel/broadwell/default.nix index 0b19cb782..eb4d1cdff 100644 --- a/common/gpu/intel/broadwell/default.nix +++ b/common/gpu/intel/broadwell/default.nix @@ -1,9 +1,8 @@ -{ lib, pkgs, ... }: - { imports = [ ../. ]; hardware.intelgpu = { + computeRuntime = "legacy"; vaapiDriver = "intel-vaapi-driver"; enableHybridCodec = true; }; diff --git a/common/gpu/intel/coffee-lake/default.nix b/common/gpu/intel/coffee-lake/default.nix index 55e71d219..49c683d86 100644 --- a/common/gpu/intel/coffee-lake/default.nix +++ b/common/gpu/intel/coffee-lake/default.nix @@ -7,5 +7,8 @@ "i915.enable_guc=2" ]; - hardware.intelgpu.vaapiDriver = "intel-media-driver"; + hardware.intelgpu = { + computeRuntime = "legacy"; + vaapiDriver = "intel-media-driver"; + }; } diff --git a/common/gpu/intel/comet-lake/default.nix b/common/gpu/intel/comet-lake/default.nix index 43ed1c467..200e34a36 100644 --- a/common/gpu/intel/comet-lake/default.nix +++ b/common/gpu/intel/comet-lake/default.nix @@ -3,5 +3,8 @@ boot.kernelParams = [ "i915.enable_guc=2" ]; - hardware.intelgpu.vaapiDriver = "intel-media-driver"; + hardware.intelgpu = { + computeRuntime = "legacy"; + vaapiDriver = "intel-media-driver"; + }; } diff --git a/common/gpu/intel/default.nix b/common/gpu/intel/default.nix index a8671d41b..0c5e346b5 100644 --- a/common/gpu/intel/default.nix +++ b/common/gpu/intel/default.nix @@ -23,6 +23,15 @@ default = true; }; + computeRuntime = lib.mkOption { + description = "intel-compute-runtime variant to use"; + type = lib.types.enum [ + "default" + "legacy" + ]; + default = "default"; + }; + vaapiDriver = lib.mkOption { description = "Intel VAAPI driver to use (use null to use both)"; type = lib.types.nullOr ( @@ -59,7 +68,11 @@ useIntelMediaDriver = cfg.vaapiDriver == "intel-media-driver" || cfg.vaapiDriver == null; intel-media-driver = pkgs.intel-media-driver; intel-media-driver-32 = pkgs.driversi686Linux.intel-media-driver; - intel-compute-runtime = pkgs.intel-compute-runtime; + intel-compute-runtime = + if cfg.computeRuntime == "legacy" then + pkgs.intel-compute-runtime-legacy1 + else + pkgs.intel-compute-runtime; vpl-gpu-rt = pkgs.vpl-gpu-rt or pkgs.onevpl-intel-gpu; in { diff --git a/common/gpu/intel/elkhart-lake/default.nix b/common/gpu/intel/elkhart-lake/default.nix index 43ed1c467..200e34a36 100644 --- a/common/gpu/intel/elkhart-lake/default.nix +++ b/common/gpu/intel/elkhart-lake/default.nix @@ -3,5 +3,8 @@ boot.kernelParams = [ "i915.enable_guc=2" ]; - hardware.intelgpu.vaapiDriver = "intel-media-driver"; + hardware.intelgpu = { + computeRuntime = "legacy"; + vaapiDriver = "intel-media-driver"; + }; } diff --git a/common/gpu/intel/kaby-lake/default.nix b/common/gpu/intel/kaby-lake/default.nix index a8386691c..37a639d80 100644 --- a/common/gpu/intel/kaby-lake/default.nix +++ b/common/gpu/intel/kaby-lake/default.nix @@ -7,5 +7,8 @@ "i915.enable_psr=2" ]; - hardware.intelgpu.vaapiDriver = "intel-media-driver"; + hardware.intelgpu = { + computeRuntime = "legacy"; + vaapiDriver = "intel-media-driver"; + }; } diff --git a/common/gpu/intel/skylake/default.nix b/common/gpu/intel/skylake/default.nix index e9c242794..553cc836b 100644 --- a/common/gpu/intel/skylake/default.nix +++ b/common/gpu/intel/skylake/default.nix @@ -1,5 +1,3 @@ -{ pkgs, ... }: - { imports = [ ../. ]; @@ -12,6 +10,7 @@ # NixOS Wiki recommends using the legacy intel-vaapi-driver with the hybrid codec over that one for Skylake. # https://wiki.nixos.org/wiki/Accelerated_Video_Playback hardware.intelgpu = { + computeRuntime = "legacy"; vaapiDriver = "intel-vaapi-driver"; enableHybridCodec = true; };