Skip to content

How to choose an NVIDIA driver in Arch Linux

This page helps you choose the correct NVIDIA driver package for your GPU and kernel in Arch Linux.

Step 1: Identify your GPU model and active driver

Section titled “Step 1: Identify your GPU model and active driver”
Terminal window
lspci -k | grep -A 3 -E '(VGA|3D)'
nvidia-smi

Step 2: Choose a driver branch by GPU generation

Section titled “Step 2: Choose a driver branch by GPU generation”

Turing and newer (RTX 20xx / GTX 16xx / RTX 30xx / RTX 40xx and newer)

Section titled “Turing and newer (RTX 20xx / GTX 16xx / RTX 30xx / RTX 40xx and newer)”

For these cards in Arch Linux, open kernel modules are the current option:

  • nvidia-open — for the regular linux kernel
  • nvidia-open-lts — for linux-lts
  • nvidia-open-dkms — for non-standard kernels (linux-zen, linux-hardened, custom kernels)

Pascal and older (for example GTX 10xx and older generations)

Section titled “Pascal and older (for example GTX 10xx and older generations)”

Starting from branch 590, the proprietary driver no longer supports Pascal and older GPUs. For these cards, use the legacy branch:

  • nvidia-580xx-dkms (AUR)

For very old GPUs, even older legacy branches may be required (for example 470xx/390xx) if the card is not supported by 580xx.

  • Standard linux kernel → usually nvidia-open
  • linux-ltsnvidia-open-lts
  • Non-standard kernel (linux-zen, linux-hardened, custom) → nvidia-open-dkms + your kernel headers package

Example for linux-zen:

Terminal window
sudo pacman -S linux-zen-headers nvidia-open-dkms
  1. Do not install multiple conflicting driver families at the same time (nvidia-open and nvidia-580xx-dkms, etc.)
  2. Always reboot after switching driver branches
  3. If you use Steam/Proton and 32-bit games, check that lib32-nvidia-utils is installed

Where to find exact compatibility info for your GPU

Section titled “Where to find exact compatibility info for your GPU”
  • Support matrix in NVIDIA documentation
  • Current package policy in Arch Linux