Recent Updates#

Version locking packages for Ubuntu / Debian#

Driver pinning packages have been introduced for Debian and Ubuntu to track specific driver branches and versions across the various releases.

For more information please refer to the version locking section for APT.

Hint

For the best experience when locking a branch, we suggest to install the pinning package prior to installing the driver.

This has been introduced mainly for these new cases:

  • Lock systems into tracking specific driver branches

  • Lock systems to specific driver versions

  • Allow easy upgrades/downgrades/switching between releases and branches

  • Consistency in the documentation (always the same instructions regardless of driver release)

Ubuntu 590 and later packages#

Starting with branch 590, the Ubuntu packages will be renamed by removing the branch designation from the package name. Switching branches, installing specific driver versions and specific upgrade / downgrade requirements will be supported through these version locking (pinning) packages.

From 590 onwards, the default experience will be to upgrade the system to the latest drivers; like any other packages in the distribution; while the branch tracking will become an “opt in” choice.

Packages will be renamed as follows, and from 590 onwards, they will keep the same name:

Table 3 Ubuntu 590 package renames#

Original name

New name

cuda-compat-13-0

no change

cuda-drivers-580

will be removed

cuda-drivers

no change

libnvidia-cfg1-580

libnvidia-cfg1

libnvidia-common-580

libnvidia-common

libnvidia-compute-580

libnvidia-compute

libnvidia-decode-580

libnvidia-decode

libnvidia-encode-580

libnvidia-encode

libnvidia-extra-580

libnvidia-extra

libnvidia-fbc1-580

libnvidia-fbc1

libnvidia-gl-580

libnvidia-gl

libnvidia-gpucomp-580

libnvidia-gpucomp

libnvidia-nscq

no change

libnvsdm

no change

libxnvctrl0

no change

libxnvctrl-dev

no change

nvidia-dkms-580

nvidia-dkms

nvidia-dkms-580-open

nvidia-dkms-open

nvidia-driver-580

nvidia-driver

nvidia-fabricmanager

no change

nvidia-firmware-580

nvidia-firmware

nvidia-headless-580

nvidia-headless

nvidia-headless-580-open

nvidia-headless-open

nvidia-headless-no-dkms-580

nvidia-headless-no-dkms

nvidia-headless-no-dkms-580-open

nvidia-headless-no-dkms-open

nvidia-imex

no change

nvidia-kernel-common-580

nvidia-kernel-common

nvidia-kernel-source-580

nvidia-kernel-source

nvidia-kernel-source-580-open

nvidia-kernel-source-open

nvidia-modprobe

no change

nvidia-open-580

will be removed

nvidia-open

no change

nvidia-persistenced

no change

nvidia-settings

no change

nvidia-xconfig

no change

xserver-xorg-video-nvidia-580

xserver-xorg-video-nvidia

Compute-only HPC Node#

Starting in CUDA 12.8, the cuda meta-package now installs the compute-only part of the driver. By default, if nothing is specified on the command line, the installation will prefer the Open GPU kernel modules.

This is achieved by having the final dependency of cuda-runtime-X-Y on nvidia-driver-cuda/nvidia-compute-G06/libnvidia-compute, depending on the distribution.

Driver Helper Script#

A new script is available to detect and install the best NVIDIA driver packages for the user’s system. This piece of software is meant to help users decide on which NVIDIA graphics driver to install, based on the detected system’s hardware.

To install the driver helper script, install the nvidia-driver-assistant package using apt/dnf/tdnf/zypper.

The following table explains the different flags for the driver helper script:

Table 4 Driver helper script flags#

Flags Used

Description

--install

Install the recommended driver.

--branch [BRANCH]

Specify an NVIDIA Driver branch.

--list-supported-distros

Print out the list of the supported Linux distributions.

--supported-gpus [SUPPORTED_GPUS]

Use a different supported-gpus.json file.

--sys-path [SYS_PATH]

Use a different /sys path. Useful for testing.

--os-release-path [OS_RELEASE_PATH]

Use a different path for the os-release file. Useful for testing.

--distro [DISTRO]

Linux distribution using the DISTRO:VERSION or DISTRO pattern.

--module-flavor [MODULE_FLAVOR]

Kernel module flavor; open and closed are accepted values.

--verbose

[OPTIONAL] Verbose output.

The following are example command outputs:

Table 5 Command outputs#

Command

Example Output

$ nvidia-driver-assistant

Detected GPUs:

NVIDIA GeForce RTX 3070 - (pci_id 0x2484)

Detected system:

Ubuntu 24.04

Please copy and paste the following command to install the open kernel module flavour:

sudo apt install -y nvidia-open

$ nvidia-driver-assistant --install

Detected GPUs:

NVIDIA GeForce RTX 3070 - (pci_id 0x2484)

Detected system:

Ubuntu 24.04

Using the NVIDIA driver implies acceptance of the NVIDIA Software License Agreement, contained in the "LICENSE" file in the "/usr/share/nvidia-driver-assistant/driver_eula" directory

Installing the following package for the open kernel module flavour:

sudo apt install -y nvidia-open

$ nvidia-driver-assistant --install --module-flavor closed

Detected GPUs:

NVIDIA GeForce RTX 3070 - (pci_id 0x2484)

Detected system:

Ubuntu 24.04

Using the NVIDIA driver implies acceptance of the NVIDIA Software License Agreement, contained in the "LICENSE" file in the "/usr/share/nvidia-driver-assistant/driver_eula" directory

Installing the following package for the legacy kernel module flavour:

sudo apt install -y cuda-drivers