Skip to content

Commit

Permalink
nixos/nvidia: add nvidia_dc_565 drivers
Browse files Browse the repository at this point in the history
Also remove dc_520
  • Loading branch information
edwtjo committed Dec 18, 2024
1 parent cf20496 commit 3979f12
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 17 deletions.
2 changes: 2 additions & 0 deletions nixos/doc/manual/release-notes/rl-2505.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@

- `nodePackages.copy-webpack-plugin` has been removed, as it should be installed in projects that use it instead.

- `linuxPackages.nvidiaPackages.dc_520` has been removed since it is marked broken and there are better newer alternatives.

- `racket_7_9` has been removed, as it is insecure. It is recommended to use Racket 8 instead.

- `ente-auth` now uses the name `enteauth` for its binary. The previous name was `ente_auth`.
Expand Down
2 changes: 1 addition & 1 deletion nixos/modules/hardware/video/nvidia.nix
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ in
message = "You cannot configure both X11 and Data Center drivers at the same time.";
}
{
assertion = cfg.open != null;
assertion = cfg.open != null || cfg.datacenter.enable;
message = ''
You must configure `hardware.nvidia.open` on NVIDIA driver versions >= 560.
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.
Expand Down
26 changes: 12 additions & 14 deletions pkgs/os-specific/linux/nvidia-x11/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -100,20 +100,7 @@ rec {
};

# data center driver compatible with current default cudaPackages
dc = dc_520;
dc_520 = generic rec {
version = "520.61.05";
url = "https://us.download.nvidia.com/tesla/${version}/NVIDIA-Linux-x86_64-${version}.run";
sha256_64bit = "sha256-EPYWZwOur/6iN/otDMrNDpNXr1mzu8cIqQl8lXhQlzU==";
fabricmanagerSha256 = "sha256-o8Kbmkg7qczKQclaGvEyXNzEOWq9ZpQZn9syeffnEiE==";
useSettings = false;
usePersistenced = false;
useFabricmanager = true;

patches = [ rcu_patch ];

broken = kernel.kernelAtLeast "6.5";
};
dc = dc_565;

dc_535 = generic rec {
version = "535.154.05";
Expand All @@ -128,6 +115,17 @@ rec {
patches = [ rcu_patch ];
};

dc_565 = generic rec {
version = "565.57.01";
url = "https://us.download.nvidia.com/tesla/${version}/NVIDIA-Linux-x86_64-${version}.run";
sha256_64bit = "sha256-buvpTlheOF6IBPWnQVLfQUiHv4GcwhvZW3Ks0PsYLHo=";
persistencedSha256 = "sha256-hdszsACWNqkCh8G4VBNitDT85gk9gJe1BlQ8LdrYIkg=";
fabricmanagerSha256 = "sha256-umhyehddbQ9+xhhoiKC7SOSVxscA5pcnqvkQOOLIdsM=";
useSettings = false;
usePersistenced = true;
useFabricmanager = true;
};

# Update note:
# If you add a legacy driver here, also update `top-level/linux-kernels.nix`,
# adding to the `nvidia_x11_legacy*` entries.
Expand Down
8 changes: 7 additions & 1 deletion pkgs/os-specific/linux/nvidia-x11/fabricmanager.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ nvidia_x11: sha256:
lib,
fetchurl,
patchelf,
zlib,
}:

let
Expand All @@ -28,7 +29,12 @@ stdenv.mkDerivation rec {
for bin in nv{-fabricmanager,switch-audit};do
${patchelf}/bin/patchelf \
--set-interpreter ${stdenv.cc.libc}/lib/ld-${bsys}.so.2 \
--set-rpath ${lib.makeLibraryPath [ stdenv.cc.libc ]} \
--set-rpath ${
lib.makeLibraryPath [
stdenv.cc.libc
zlib
]
} \
--shrink-rpath \
bin/$bin
done
Expand Down
2 changes: 1 addition & 1 deletion pkgs/top-level/linux-kernels.nix
Original file line number Diff line number Diff line change
Expand Up @@ -430,8 +430,8 @@ in {
nvidia_x11_production = nvidiaPackages.production;
nvidia_x11_vulkan_beta = nvidiaPackages.vulkan_beta;
nvidia_dc = nvidiaPackages.dc;
nvidia_dc_520 = nvidiaPackages.dc_520;
nvidia_dc_535 = nvidiaPackages.dc_535;
nvidia_dc_565 = nvidiaPackages.dc_565;

# this is not a replacement for nvidia_x11*
# only the opensource kernel driver exposed for hydra to build
Expand Down

0 comments on commit 3979f12

Please sign in to comment.