summaryrefslogtreecommitdiff
path: root/modules/nixos/mixins/nvidia.nix
diff options
context:
space:
mode:
authorSeth Flynn <[email protected]>2025-02-10 14:28:12 -0500
committerSeth Flynn <[email protected]>2025-02-10 20:26:23 -0500
commitcd21ca8e9894f7d8dbe7628952c6345174c3eb15 (patch)
tree19980d81a8e63fb217fab6e32c5c1911d423d013 /modules/nixos/mixins/nvidia.nix
parent73046857ef20f99983aaa95c04e0061615478583 (diff)
nixos/nvidia: don't use gsp firmware on proprietary driver
Diffstat (limited to 'modules/nixos/mixins/nvidia.nix')
-rw-r--r--modules/nixos/mixins/nvidia.nix10
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/nixos/mixins/nvidia.nix b/modules/nixos/mixins/nvidia.nix
index 97a8f2e..ff81385 100644
--- a/modules/nixos/mixins/nvidia.nix
+++ b/modules/nixos/mixins/nvidia.nix
@@ -3,6 +3,8 @@
let
cfg = config.hardware.nvidia;
+ isNvidiaEnabled = lib.elem "nvidia" config.services.xserver.videoDrivers;
+
# Unlike Nixpkgs, I know all of my GPUs should prefer the open modules after 560
useOpenModulesByDefault = lib.versionAtLeast config.hardware.nvidia.package.version "560";
in
@@ -21,6 +23,14 @@ in
};
}
+ (lib.mkIf (isNvidiaEnabled && !config.hardware.nvidia.open) {
+ # Don't use GSP Firmware on proprietary driver
+ # https://github.com/NVIDIA/open-gpu-kernel-modules/issues/693
+ boot.kernelParams = [
+ "nvidia.NVreg_EnableGpuFirmware=0"
+ ];
+ })
+
(lib.mkIf cfg.nvk.enable {
specialisation = {
nvk.configuration = {