summaryrefslogtreecommitdiff
path: root/modules/nixos
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nixos')
-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 = {