Skip to content

Instantly share code, notes, and snippets.

@Steperman5692
Last active June 30, 2026 14:04
Show Gist options
  • Select an option

  • Save Steperman5692/7a19a654bc9b94af0e52b065a900ff36 to your computer and use it in GitHub Desktop.

Select an option

Save Steperman5692/7a19a654bc9b94af0e52b065a900ff36 to your computer and use it in GitHub Desktop.
nVidia Driver Install Guide

nVidia Driver Installation Guide

Things to know:

  • This guide applies for the latest stable release of your distribution.
  • Consult this section to find out the correct architecture for your nVidia GPU.
  • The CUDA package is optional unless you want CUDA, NVDEC & NVENC support. It's typically used for AI/ML, video editing, 3D rendering, cryptography, etc.
  • nVidia recommends using the open kernel modules (OKM) for Turing & later GPUs.
  • Blackwell & later GPUs only support the open kernel modules driver.
  • For Fermi & Kepler GPUs:
    • The Nouveau drivers are generally recommended, as nVidia no longer supports these GPUs with the proprietary drivers. Keep in mind that Nouveau has significantly lower 3D performance & lacks some features compared to the proprietary drivers.
    • If you choose to install the proprietary drivers, you're limited to kernel 6.1 LTS for Fermi & kernel 6.6 LTS for Kepler, as these are the last Linux kernels supported by these drivers. The proprietary drivers may also have issues such as incompatibility with newer kernels, potential security vulnerabilities & no Wayland support.
  • Tesla & older GPUs uses the Nouveau drivers.
GPU Support Driver Wayland
Turing+ 🟢 🟩🟪 🟨
Maxwell ⇾ Volta 🟠 🟦🟪 🟫
Kepler 🔴 🟦🟪
Fermi 🔴 🟦🟪
Tesla 🔴 🟪

Note

  • Support:
    • Supported: 🟢
    • Maintenance (Legacy): 🟠
    • EoL (Legacy): 🔴
  • Driver:
    • OKM: 🟩
    • Proprietary: 🟦️
    • Nouveau: 🟪️
  • Wayland:
    • Current: 🟨
    • Supported: 🟫
    • Unsupported (Use X11): ⬛

Distros:

Contributors:

@Xabi08YT

nVidia GPU Architecture Identification

Install the pciutils package

  • Debian-based distros:
sudo apt install pciutils
  • Fedora-based distros:
sudo dnf install pciutils
  • Arch-based distros:
sudo pacman -S pciutils

Look up how to install the pciutils package for other distros not listed here.

Get info about your GPU

To get information about your GPU, run:

lspci -kd ::03xx

You should see something like this:

01:00.0 VGA/3D (compatible) controller: NVIDIA Corporation AAxxx(M) [Card Name]
        Subsystem: XYZ
        Kernel driver in use: [Active kernel module]
        Kernel modules: [Kernel modules available]

The important part is AAxxx(M), AA is the architecture letter (e.g, GBxxx, GKxxx, etc.), xxx is the tier (e.g, GK110, AD107M, etc.) & (M) indicated if it's a mobile GPU.

Find your GPU architecture from the table

Architecture Architecture letter
Blackwell GBxxx
Ada Lovelace (NV190) ADxxx
Hopper (NV180) GHxxx
Ampere (NV170) GAxxx
Turing (NV160) TUxxx
Volta (NV140) GVxxx
Pascal (NV130) GPxxx
Maxwell (NV110) GMxxx
Kepler (NVE0) GKxxx
Fermi (NVC0) GFxxx
Tesla (NV50) G8x/G9x/GT2xx

Arch-based

Note

  • Driver: nvidia[-version]-dkms
  • Driver utilities: nvidia[-version]-utils
  • Driver utilities (32-bit): lib32-nvidia[-version]-utils
  • GUI settings (Optional): nvidia[-version]-settings

Prerequisites

Update your system & install required packages:

Important

If you're using a kernel other than the standard linux kernel, replace the linux-headers package with the header package that matches your kernel (e.g., linux-lts-headers for the LTS kernel, linux-zen-headers for the Zen kernel, etc.).

sudo pacman -Syu --needed base-devel linux-headers git nano
reboot

Install an AUR helper:

Note

You can skip this step if your drivers aren't legacy drivers.

For this tutorial, we'll use yay, but you can use another AUR helper if you prefer.

cd ~ && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si

Enable the multilib repo:

multilib contains 32-bit software & libraries that can be used to run & build 32-bit applications on 64-bit installs.

sudo nano /etc/pacman.conf

Uncomment the following lines by removing the # character at the start of them:

[multilib]
Include = /etc/pacman.d/mirrorlist

Save the file (Ctrl+S) & close nano (Ctrl+X).

Force refresh the local sync database:

yay -Syy

Driver Installation

Turing & later:

sudo pacman -S nvidia-open-dkms nvidia-utils lib32-nvidia-utils nvidia-settings

Maxwell ⇾ Volta:

yay -S nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils nvidia-580xx-settings

Kepler:

yay -S nvidia-470xx-dkms nvidia-470xx-utils lib32-nvidia-470xx-utils nvidia-470xx-settings

Fermi:

yay -S nvidia-390xx-dkms nvidia-390xx-utils lib32-nvidia-390xx-utils nvidia-390xx-settings

After installing, reboot your system & run nvidia-smi to verify that the driver was installed correctly & to view info about your nVidia GPU.

Resources & Credits

Fedora Atomic

Warning

I haven't test that guide yet. Follow at your own risk.

Note

  • Driver: akmod-nvidia[-version]
  • CUDA: xorg-x11-drv-nvidia-[version]

Prerequisites

Update your system:

sudo rpm-ostree upgrade --refresh -y
reboot

Install dependencies:

sudo rpm-ostree install kernel-devel kernel-headers gcc make elfutils-libelf-devel
reboot

Enable RPMFusion repos:

sudo rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
reboot

Caution

If Secure Boot is enabled, consulte the Secure Boot guide before installing.

Driver Installation

Warning

After you choose the correct driver for your system & install it, you'll need to wait atleast 5-15 minutes before you reboot so the driver builds in the background. You can check progress using this command:

sudo journalctl -fu akmods

Turing & later:

sudo rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia-cuda

Maxwell ⇾ Volta:

sudo rpm-ostree install akmod-nvidia-580xx xorg-x11-drv-nvidia-580xx

Kepler:

sudo rpm-ostree install akmod-nvidia-470xx xorg-x11-drv-nvidia-470xx

Fermi:

sudo rpm-ostree install akmod-nvidia-390xx xorg-x11-drv-nvidia-390xx

After installing, reboot your system & run nvidia-smi to verify that the driver was installed correctly & to view info about your nVidia GPU.

Debian

They're 2 ways of installing nVidia drivers on Debian.

  • Debian-packages drivers: nVidia drivers provided by Debian which are stable & well-tested. However, they are much older than the upstream releases & may not support the latest GPUs, features & improvements. Recommended for stability. Best for older or current GPUs & a system that just works without breaking.

  • nVidia-packaged drivers: nVidia drivers provided directly by NVIDIA which are the latest upstream releases. They support the newest GPUs, features & improvements. However, they are not as thoroughly tested by Debian which carry a stability risk. Recommended for performance. Best for brand-new GPUs, gaming & the latest AI/ML (CUDA) features.

Debian-packages drivers

Prerequisites

Update your system:

sudo apt update && sudo apt upgrade -y
reboot

Enable required Debian repository components:

sudo nano /etc/apt/sources.list

Add the components contrib, non-free & non-free-firmware (Order of components doesn't matter)

It should look something like this: (Example for Debian 13; steps should be similar)

deb http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware

deb http://security.debian.org/debian-security/ trixie-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security/ trixie-security main contrib non-free non-free-firmware

deb http://deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware

Note

If you use -backports, make sure these components are enabled there as well.

Save (Ctrl + S) & exit (Ctrl + X) then run sudo apt update

Install Kernel Headers:

sudo apt install linux-headers-generic

32-bit support:

This is needed for 32-bit apps (such as many Windows games through Wine or Steam), so it's recommended to enable the i386 architecture before installing the driver to ensure the required 32-bit libs are installed automatically.

sudo dpkg --add-architecture i386
sudo apt update

Caution

If your system uses any of the features below, complete the required steps before installing the drivers:

  • Secure Boot (Based on my testing, it appears that the driver handles Secure Boot automatically, so you may not need to follow that step)
  • Dracut

Driver Installation

Important

  • Blackwell GPUs are not supported at the moment. Consider using the nVidia-packaged drivers instead.
  • If you're using Wayland, follow this guide to ensure it's configured correctly.

Turing ⇾ Ada Lovelace:

sudo apt install nvidia-open-kernel-dkms nvidia-driver

Maxwell ⇾ Volta:

sudo apt install nvidia-kernel-dkms nvidia-driver

Final steps below.

nVidia-packaged drivers

Prerequisites

Same prerequisites as the Debian-packaged drivers, with a few extra steps.

Network Repository Enablement:

Important

  • If you're using a Maxwell, Pascal, or Volta GPU, you'll need to use the Debian 12 (debian12) repository, as it contains the 580 driver required by these GPUs. You'll also need follow these additional steps (Use the apt sources (/etc/apt/sources.list) method).
  • if you're using an ARM CPU, replace x86_64 with sbsa.
# Replace ${distro} with the Debian version you're running (e.g. debian13)
wget https://developer.download.nvidia.com/compute/cuda/repos/${distro}/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update

Driver Installation

Turing & later:

sudo apt -V install nvidia-open

Maxwell ⇾ Volta:

sudo apt install nvidia-driver-pinning-580
sudo apt -V install cuda-drivers

Final steps

After installing the driver, verify that it was installed correctly by running:

sudo dkms status | grep -i nvidia

The output should be similar to this:

nvidia/550.163.01, 6.12.57+deb13-amd64, x86_64: installed

If you get anything other than installed, consulte the toubleshooting guide.

After installing, reboot your system & run nvidia-smi to verify that the driver was installed correctly & to view info about your nVidia GPU.

Resources & Credits

Fedora-based

Note

  • Driver: akmod-nvidia[-version]
  • CUDA: xorg-x11-drv-nvidia-[version]

Prerequisites

Update your system:

sudo dnf upgrade --refresh -y

Install dependencies:

sudo dnf install kernel-devel kernel-headers gcc make elfutils-libelf-devel

Enable RPMFusion repos:

sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

reboot your system afterwards.

Caution

If Secure Boot is enabled, consulte the Secure Boot guide before installing.

Driver Installation

Warning

After you choose the correct driver for your system & install it, you'll need to wait atleast 5-15 minutes before you reboot so the driver builds in the background. You can check progress using this command:

sudo journalctl -fu akmods

Turing & later:

sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda

Maxwell ⇾ Volta:

sudo dnf install akmod-nvidia-580xx xorg-x11-drv-nvidia-580xx

Kepler:

sudo dnf install akmod-nvidia-470xx xorg-x11-drv-nvidia-470xx

Fermi:

sudo dnf install akmod-nvidia-390xx xorg-x11-drv-nvidia-390xx

After installing, reboot your system & run nvidia-smi to verify that the driver was installed correctly & to view info about your nVidia GPU.

Void Linux

Warning

The proprietary nvidia[version] driver are not supported on the musl-libc variant of Void Linux. You'll need to use the open-source nouveau driver instead.

Note

  • Driver: nvidia[version]
  • 32-bit libs: nvidia[version]-libs-32bit

Prerequisites

Update your system:

sudo xbps-install -Su
reboot

Enable nonfree & multilib repos:

sudo xbps-install -S void-repo-nonfree void-repo-multilib void-repo-multilib-nonfree

Driver Installation

Turing & later:

sudo xbps-install -S nvidia nvidia-libs-32bit

Maxwell ⇾ Volta:

sudo xbps-install -S nvidia580 nvidia580-libs-32bit

Kepler:

sudo xbps-install -S nvidia470 nvidia470-libs-32bit

Fermi:

sudo xbps-install -S nvidia390 nvidia390-libs-32bit

After installing, reboot your system & run nvidia-smi to verify that the driver was installed correctly & to view info about your nVidia GPU.

Resources & Credits

Other Distros

For these distros, the official documentation already provides detailed nVidia driver installation instructions. Follow the linked guide for your system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment