From 9cff87c60464166d2ab21535ea304c559b07089a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Fern=C3=A1ndez=20L=C3=B3pez?= Date: Wed, 31 Jul 2024 09:56:09 +0200 Subject: [PATCH] nvidia-podman: remove nvidia wrapper Since version 4.1.0, podman has support for CDI, and is the recommended way to expose GPU's for containers for podman. More information: https://web.archive.org/web/20240729183805/https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#configuring-podman (cherry picked from commit 058e8f5ef11cd5291cf03aa4a886e475cf7bdd71) --- .../modules/virtualisation/podman/default.nix | 7 +---- .../nv/nvidia-container-toolkit/packages.nix | 28 ------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 1 - 4 files changed, 2 insertions(+), 35 deletions(-) diff --git a/nixos/modules/virtualisation/podman/default.nix b/nixos/modules/virtualisation/podman/default.nix index d0f4ac7f66dac..e752cf4ac1487 100644 --- a/nixos/modules/virtualisation/podman/default.nix +++ b/nixos/modules/virtualisation/podman/default.nix @@ -170,7 +170,7 @@ in lib.mkIf cfg.enable { warnings = lib.optionals cfg.enableNvidia [ '' - You have set virtualisation.podman.enableNvidia. This option is deprecated, please set virtualisation.containers.cdi.dynamic.nvidia.enable instead. + You have set virtualisation.podman.enableNvidia. This option is deprecated, please set hardware.nvidia-container-toolkit.enable instead. '' ]; @@ -189,11 +189,6 @@ in enable = true; # Enable common /etc/containers configuration containersConf.settings = { network.network_backend = "netavark"; - } // lib.optionalAttrs cfg.enableNvidia { - engine = { - conmon_env_vars = [ "PATH=${lib.makeBinPath [ pkgs.nvidia-podman ]}" ]; - runtimes.nvidia = [ "${pkgs.nvidia-podman}/bin/nvidia-container-runtime" ]; - }; }; }; diff --git a/pkgs/by-name/nv/nvidia-container-toolkit/packages.nix b/pkgs/by-name/nv/nvidia-container-toolkit/packages.nix index ad69e9dcd3918..83b62a68f2419 100644 --- a/pkgs/by-name/nv/nvidia-container-toolkit/packages.nix +++ b/pkgs/by-name/nv/nvidia-container-toolkit/packages.nix @@ -30,26 +30,6 @@ lib.makeScope newScope ( configTemplate = self.dockerConfig; }; - podmanConfig = { - disable-require = true; - #swarm-resource = "DOCKER_RESOURCE_GPU"; - - nvidia-container-cli = { - #root = "/run/nvidia/driver"; - #path = "/usr/bin/nvidia-container-cli"; - environment = [ ]; - #debug = "/var/log/nvidia-container-runtime-hook.log"; - ldcache = "/tmp/ld.so.cache"; - load-kmods = true; - no-cgroups = true; - #user = "root:video"; - ldconfig = "@@glibcbin@/bin/ldconfig"; - }; - }; - nvidia-container-toolkit-podman = self.nvidia-container-toolkit-docker.override { - configTemplate = self.podmanConfig; - }; - nvidia-docker = symlinkJoin { name = "nvidia-docker"; paths = [ @@ -60,13 +40,5 @@ lib.makeScope newScope ( }; nvidia-docker-unwrapped = self.callPackage ./nvidia-docker.nix { }; - - nvidia-podman = symlinkJoin { - name = "nvidia-podman"; - paths = [ - self.nvidia-container-toolkit-podman - ]; - inherit (self.nvidia-container-toolkit-podman) meta; - }; } ) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 49a3322819f07..f5777b8a57092 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -924,6 +924,7 @@ mapAliases ({ noto-fonts-emoji = noto-fonts-color-emoji; # Added 2023-09-09 noto-fonts-extra = noto-fonts; # Added 2023-04-08 NSPlist = nsplist; # Added 2024-01-05 + nvidia-podman = throw "podman should use the Container Device Interface (CDI) instead. See https://web.archive.org/web/20240729183805/https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#configuring-podman"; # Added 2024-08-02 nvidia-thrust = throw "nvidia-thrust has been removed because the project was deprecated; use cudaPackages.cuda_cccl"; nvtop = lib.warn "nvtop has been renamed to nvtopPackages.full" nvtopPackages.full; # Added 2024-02-25 nvtop-amd = lib.warn "nvtop-amd has been renamed to nvtopPackages.amd" nvtopPackages.amd; # Added 2024-02-25 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f54fce79166d9..d027d582ddb0b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23494,7 +23494,6 @@ with pkgs; { }; inherit (nvidiaCtkPackages) nvidia-docker - nvidia-podman ; nvidia-vaapi-driver = lib.hiPrio (callPackage ../development/libraries/nvidia-vaapi-driver { });