../common/generic-attributes.adoc = Installing {nvidia} GPU drivers on {slem}
If you are following this guide, it assumes that you have the following already available:
-
At least one host with {slem} {slmicro-version} installed, physical or virtual.
-
Your hosts are attached to a subscription as this is required for package access.
-
A compatible {nvidia} GPU installed or fully passed through to the virtual machine in which {slem} is running.
-
Access to the {rootuser} user—these instructions assume you are the {rootuser} user, and not escalating your privileges via
sudo.
You must verify the driver generation for the {nvidia} GPU that your
system has. For modern GPUs, the G06 driver is the
most common choice. Find more details in
the support database.
This section details the installation of the G06
generation of the driver.
Besides the {nvidia} open-driver provided by {suse} as part of {slem},
you might also need additional {nvidia} components. These could include
OpenGL libraries, {cuda} toolkits, command-line utilities such as
nvidia-smi, and container-integration components such
as nvidia-container-toolkit. Many of these components are not shipped by
{suse} as they are proprietary {nvidia} software. This section describes
how to configure additional repositories that give you access to these
components and provides examples of using these tools to achieve a fully
functional system.
-
On each (local) GPU-enabled host, open up a {tr-up-shell} session to create a new read/write snapshot of the underlying operating system so that we can make changes to the immutable platform.
{prompt_root}{tr-up-shell} -
Install the Open Kernel driver KMP and detect the driver version.
{prompt_tr-up}zypper install -y --auto-agree-with-licenses \ nvidia-open-driver-G06-signed-cuda-kmp-default {prompt_tr-up}version=$(rpm -qa --queryformat '%{VERSION}\n' \ nvidia-open-driver-G06-signed-cuda-kmp-default \ | cut -d "_" -f1 | sort -u | tail -n 1) -
Install the nvidia-gl-G06 package along with the open driver on the GPU nodes if the application needs {nvidia} Vulkan capabilities.
{prompt_tr-up}zypper install -y --auto-agree-with-licenses \ nvidia-gl-G06=${version} -
You can then install the appropriate packages for additional utilities that are useful for testing purposes.
{prompt_tr-up}zypper install -y --auto-agree-with-licenses \ nvidia-compute-utils-G06=${version} \ nvidia-persistenced=${version} -
Exit the {tr-up} session and reboot to the new snapshot that contains the changes you have made.
{prompt_tr-up}exit {prompt_root}reboot -
After the system has rebooted, log back in and run
nvidia-smicommand as {rootuser} to ensure it correctly detects the GPU and displays the GPU details.{prompt_root}nvidia-smiThe output of this command should show you something similar to the following output. In the example below, the system has one GPU.
Fri Aug 1 14:53:26 2025 +------------------------------------------------------------------------------+ | NVIDIA-SMI 580.82.07 Driver Version: 580.82.07 CUDA Version: 13.0 | |---------------------------------+---------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=================================+=====================+======================| | 0 Tesla T4 On |00000000:00:1E.0 Off | 0 | | N/A 34C P8 10W / 70W | 0MiB / 15360MiB | 0% Default | | | | N/A | +---------------------------------+---------------------+----------------------+ +------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |==============================================================================| | No running processes found | +------------------------------------------------------------------------------+