Introduction
If you are rocking the latest RTX 5090 (Blackwell architecture), the standard “G06” driver series isn’t enough. You need the G07 stack. Why? G07 provides essential support for the Open Kernel Modules and GSP Firmware that the 50-series depends on.
This guide will show you how to perform a “clean slate” migration from G06 to G07, including the installation of the CUDA 13.2 toolkit and the Container Toolkit for Docker and Podman.
We are not just installing drivers; we are unlocking the full power of a monster GPU.
Part 1: Prerequisites & The Safety Net
Before we touch anything, we need to add the two specialized repositories from NVIDIA. Tumbleweed’s auto-added repo is fine for drivers, but we need the “Developer” streams for CUDA and containers.
Step 1: Add the Specialized Repositories
Run these commands to add the official CUDA and Container Toolkit repositories:
# Add the NVIDIA CUDA Development Repository
sudo zypper addrepo https://developer.download.nvidia.com/compute/cuda/repos/suse16/x86_64/ cuda
# Add the NVIDIA Container Toolkit Repository
sudo zypper addrepo https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo
# Refresh the entire package ecosystem
sudo zypper refresh
Step 2: Create a Safety Rollback Point
Driver upgrades on rolling releases can sometimes go sideways. openSUSE’s Snapper tool is your “Emergency Exit.” Run this to freeze your system state now.
sudo snapper create --description "Pre-NVIDIA-G07-Upgrade" --userdata "important=yes"
Part 2: The Migration (Clean Slate)
We need to remove all old driver packages and firmware to prevent a common “version mismatch” issue (e.g., trying to load 580 libraries with a 595 driver).
Step 3: Deep Clean the System
Remove old G06 packages and any generic NVIDIA firmware from your system.
sudo zypper rm kernel-firmware-nvidia
sudo rpm -e $(rpm -qa | grep -e ^nvidia -e ^libnvidia | grep -v container) 2>/dev/null
(If the rpm -e command errors, that’s actually good—it means the packages are already gone).
Step 4: Install the G07 “Monster” Stack
This command installs the core components your 5090 needs:
- Open Kernel Driver: The new “gold standard” for Turing+ cards.
- Userspace Meta: The desktop and OpenGL drivers.
- Compute Meta: The base CUDA and OpenCL runtime.
- 32-bit Libraries: Required for Steam and gaming via Proton/Wine.
sudo zypper in nvidia-open-driver-G07-signed-kmp-meta \
nvidia-userspace-meta-G07 \
nvidia-compute-G07 \
nvidia-gl-G07-32bit \
nvidia-video-G07-32bit
Part 3: Fixing CUDA, Containers, & The PATH
The G07 stack handles the driver, but now we need the compiler (nvcc) and the container hooks to link the GPU to AI tools.
Step 5: Install the CUDA Toolkit & Containers
Since your driver is compatible with CUDA 13.2, we will install the matching toolkit to get the nvcc compiler. We will also install the tools that make the GPU visible inside Docker or Podman.
sudo zypper in cuda-toolkit-13-2 nvidia-container-toolkit
Step 6: Fix the PATH (The openSUSE Twist)
openSUSE places CUDA in /usr/local/cuda-13.2/. Your terminal doesn’t look there for tools. Let’s fix that permanently in your .bashrc.
echo 'export PATH=/usr/local/cuda-13.2/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-13.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
# Refresh your current terminal window
source ~/.bashrc
Step 7: Finalize & Reboot
To make sure the Linux kernel knows to load the new G07 driver immediately at power-on, refresh your boot images and reboot.
sudo dracut -f --regenerate-all
sudo reboot
Part 4: The Final Initialization & Testing
Once you are back at your desktop, the 5090 is running the new driver. Now we initialize the final software pieces and verify the upgrade.
Step 8: Post-Reboot: Initialize the Container Bridge (CDI)
After reboot, the kernel driver is active. We need to generate the CDI (Container Device Interface) spec that allows Podman/Docker to “passthrough” the GPU.
sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
(A success confirms the driver and toolkit versions are in sync).
🏆 The “Moment of Truth” Testing Suite
Run these tests in order to confirm your workstation is fully “unlocked.”
Test A: The Driver Verify
nvidia-smi
Expected Output: The table MUST show RTX 5090 and Driver Version 595.xx (or newer).
Test B: The Compiler Verify
nvcc --version
Expected Output: A response showing Compilation tools, release 13.2 (or matching your toolkit version).
Test C: The “Monster GPU” CUDA Stress Test
We will create, compile, and run a tiny CUDA program that uses the GPU’s individual threads.
1. Create the hello_5090.cu file:
cat <<EOF > hello_5090.cu
#include <iostream>
__global__ void cuda_hello(){
printf("Hello World from GPU thread %d!\n", threadIdx.x);
}
int main() {
std::cout << "Starting 5090 CUDA Test..." << std::endl;
cuda_hello<<<1, 5>>>();
cudaDeviceSynchronize();
std::cout << "Test Complete!" << std::endl;
return 0;
}
EOF
2. Compile with nvcc:
nvcc hello_5090.cu -o hello_5090
3. Run the executable:
./hello_5090
Expected Output: “Starting 5090 CUDA Test…” followed by five threads reporting back from the GPU core.
Test D: The Container Verify
We will run nvidia-smi inside a generic Ubuntu container to see if Podman can find your card.
sudo podman run --rm --device nvidia.com/gpu=all ubuntu nvidia-smi
Expected Output: Podman pulls the Ubuntu image and outputs the NVIDIA-SMI 595.xx table from inside the container.
Summary for Reinstalls
Keep this checklist for any future clean installs of openSUSE:
- Repos: Add
NVIDIA-Graphics(auto-added during install),cuda, andnvidia-container-toolkit. - Snapshot:
sudo snapper create --description "Pre-NVIDIA". - Drivers:
sudo zypper in nvidia-open-driver-G07-signed-kmp-meta ...(G07 only). - Toolkit:
sudo zypper in cuda-toolkit-13-2 nvidia-container-toolkit. - PATH: Set the
/usr/local/cuda-13.2/binpath in.bashrc. - Reboot:
sudo dracut -fandreboot. - CDI:
sudo nvidia-ctk cdi generate. - Test:
nvidia-smi.
Your workstation is now ready to build LLMs, melt benchmarks, and play every game at max settings. Enjoy that RTX 5090!