- The Critical First Step: Purging Existing Drivers
- Distribution-Specific Installation Instructions
- Verifying Driver Installation
- Troubleshooting Common Issues
- CUDA and Machine Learning Frameworks
- The NVIDIA-Linux Saga
Have you ever spent hours trying to get your NVIDIA GPU working on Linux? I just wasted three hours fighting with my new RTX 5080 card. Let me save you that frustration with this definitive guide to installing the correct drivers across various Linux distributions.
I'm still amazed at how challenging GPU drivers can be on Linux. But I've cracked the code, and today, I'll walk you through the exact steps to get your RTX 5000 Blackwell card running smoothly in under 10 minutes, regardless of which Linux distribution you're using.
The most common mistake people make is trying to install new drivers on top of old ones. This creates conflicts that can be a nightmare to resolve. Always start with a clean slate.
For Debian-based distributions (Ubuntu, Mint, Pop!_OS):
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
sudo reboot
For Fedora/RHEL-based distributions:
sudo dnf remove "*nvidia*"
sudo reboot
For Arch-based distributions:
sudo pacman -Rs nvidia nvidia-utils
sudo reboot
For systems using the official NVIDIA installer (.run file):
sudo nvidia-uninstall
sudo reboot
Before installing the drivers, you may specific dependencies for DKMS support and a smooth installation. These dependencies ensure proper kernel module compilation and integration with your system.
1. Installing Essential Dependencies:
sudo apt install pkg-config libglvnd-dev dkms build-essential libegl-dev libegl1 libgl-dev libgl1 libgles-dev libgles1 libglvnd-core-dev libglx-dev libopengl-dev gcc make
2. Adding the Graphics Drivers PPA Repository: This repository contains the latest tested drivers specifically for new GPU architectures.
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
3. Installing the Correct Driver:
sudo apt install nvidia-driver-570-open
sudo reboot
The "-open" suffix is crucial here. The proprietary drivers don't support Blackwell architecture properly. NVIDIA is actually transitioning toward open-source GPU kernel modules for cutting-edge platforms like Blackwell.
1. Enable RPM Fusion repositories:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
2. Install the open-source driver variant:
sudo dnf install akmod-nvidia-open xorg-x11-drv-nvidia-cuda
sudo reboot
1. Install the required packages:
sudo pacman -S nvidia-open nvidia-utils
sudo reboot
If your distribution doesn't have packaged drivers, install directly from NVIDIA:
# Download the driver
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/570.124.04/NVIDIA-Linux-x86_64-570.124.04.run
# Make it executable
chmod +x NVIDIA-Linux-x86_64-570.124.04.run
# Run the installer with the open kernel module option
sudo ./NVIDIA-Linux-x86_64-570.124.04.run --module-signing-secret-key=/path/to/key.priv --module-signing-public-key=/path/to/key.x509
Regardless of your distribution, verify the installation with:
nvidia-smi
You should see driver version 570.x listed in the output.
1. Phantom "Unknown Display" Problem
If you see a ghost "Unknown Display" in Settings after installation:
sudo rm /dev/dri/card0
Then log out and log back in.
2. Wayland Not Available
For GNOME desktop environments:
sudo nano /etc/gdm3/custom.conf
# or
sudo nano /etc/gdm/custom.conf
Ensure WaylandEnable=true
is uncommented, then run:
sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
sudo reboot
For KDE Plasma:
# Edit the file
sudo nano /etc/sddm.conf
# Add under [General]
DisplayServer=wayland
3. Module Signing Issues with Secure Boot
If you have Secure Boot enabled and encounter problems:
# Generate signing keys
sudo mokutil --generate-new-key
# Reboot and enroll the keys when prompted
# Then reinstall the driver
For those working with machine learning frameworks, install CUDA after your drivers:
# Ubuntu/Debian
sudo apt install nvidia-cuda-toolkit
# Fedora
sudo dnf install cuda
# Arch
sudo pacman -S cuda
Verify CUDA installation with:
nvcc --version
For PyTorch or TensorFlow, install with GPU support:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# or
pip install tensorflow[and-cuda]
Remember that Blackwell architecture requires specific CUDA versions - check compatibility with your frameworks before upgrading.
The complicated relationship between NVIDIA and Linux deserves mention. Back in 2012, Linus Torvalds-Linux's creator-famously gave NVIDIA the middle finger during a talk, saying "NVIDIA has been the single worst company we've ever dealt with, so NVIDIA, f*** you."
Source: https://youtu.be/Q4SWxWIOVBM?si=BwQqr3SslVDTMatG&t=21
His frustration stemmed from NVIDIA's reluctance to work with the open-source community despite selling millions of chips for Linux-based devices. This tension has shaped driver development for years.
Interestingly, we're now seeing NVIDIA transition toward open-source GPU kernel modules, which is why the RTX 5000 Blackwell series requires the "-open" driver variant. This represents progress, though challenges remain.