From cd5d300bba7ec9c8938452b440aa0053a5fb4f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Mon, 20 Apr 2026 18:11:52 +0200 Subject: [PATCH] linuxPackages.nvidiaPackages.dc_5{7,8,9}0: add compatible open kmods --- nixos/modules/hardware/video/nvidia.nix | 7 +++++++ pkgs/os-specific/linux/nvidia-x11/default.nix | 3 +++ 2 files changed, 10 insertions(+) diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index d8c42c128438..cef902557555 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -356,6 +356,13 @@ in It is suggested to use the open source kernel modules on Turing or later GPUs (RTX series, GTX 16xx), and the closed source modules otherwise. ''; } + { + assertion = !cfg.open || (nvidia_x11.open != null); + message = '' + The selected NVIDIA package does not provide open kernel modules. + Set hardware.nvidia.open = false or choose a package branch with open module support. + ''; + } ]; boot = { blacklistedKernelModules = [ diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 709f3d838af5..44976a9ceec8 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -126,6 +126,7 @@ rec { sha256_64bit = "sha256-ueL4BpN4FDHMh/TNKRCeEz3Oy1ClDWto1LO/LWlr1ok="; persistencedSha256 = "sha256-wsNeuw7IaY6Qc/i/AzT/4N82lPjkwfrhxidKWUtcwW8="; fabricmanagerSha256 = "sha256-f/AQ8HrgoqBQyXNrXA/UaI4OMQ9QcjjYWIhr1/5uM74="; + openSha256 = "sha256-hECHfguzwduEfPo5pCDjWE/MjtRDhINVr4b1awFdP44="; useSettings = false; usePersistenced = true; useFabricmanager = true; @@ -137,6 +138,7 @@ rec { sha256_64bit = "sha256-TKxT5I+K3/Zh1HyHiO0kBZokjJ/YCYzq/QiKSYmG7CY="; persistencedSha256 = "sha256-J1UwS0o/fxz45gIbH9uaKxARW+x4uOU1scvAO4rHU5Y="; fabricmanagerSha256 = "sha256-tyCHKIr8nxVfZIqcWKAwRoMLzmGlsOUhDlO5V/9W97Y="; + openSha256 = "sha256-ychsaurbQ2KNFr/SAprKI2tlvAigoKoFU1H7+SaxSrY="; useSettings = false; usePersistenced = true; useFabricmanager = true; @@ -148,6 +150,7 @@ rec { sha256_64bit = "sha256-AlaGfggsr5PXsl+nyOabMWBiqcbHLG4ij617I4xvoX0="; persistencedSha256 = "sha256-x4K0Gp89LdL5YJhAI0AydMRxl6fyBylEnj+nokoBrK8="; fabricmanagerSha256 = "sha256-jSTKzeRVTUcYma1Cb0ajSdXKCi6KzUXCp2OByPSWSR4="; + openSha256 = "sha256-aTV5J4zmEgRCOavo6wLwh5efOZUG+YtoeIT/tnrC1Hg="; useSettings = false; usePersistenced = true; useFabricmanager = true;