Understanding your graphics driver options on Linux can sometimes be a bit confusing. This overview aims to clarify the process and help you get started.
Unlike Windows, where you typically download drivers or software packages like NVIDIA App or AMD Software: Adrenalin Edition directly from the vendor’s website, the approach on Linux is different.
Important Note: For Valve’s SteamOS, Mesa graphics driver updates are integrated with SteamOS version upgrades. No manual intervention is required, as Valve manages these updates. This guide primarily addresses other Linux distributions.
Second Note: Before attempting any new driver installations, it is always advisable to perform a complete system update and then reboot your system to ensure it is in an optimal state.
AMD and Intel GPUs
AMD and Intel graphics processing units utilize Mesa. Mesa is not a single driver but rather a collection of various open-source drivers. You might encounter terms such as “RADV,” which refers to the Mesa AMD Vulkan driver, or “ANV,” the Mesa Intel Vulkan driver. Mesa typically comes pre-installed with most Linux distributions.
For AMD, an alternative is AMDVLK. The distinction is that RADV is community-driven, with contributions from entities like Valve, while AMDVLK is an official driver from AMD. Generally, however, it is often preferable to use RADV from Mesa due to AMDVLK’s more limited distribution support.
How to tell your current version of Mesa?
Launch a terminal application (such as KDE Konsole or GNOME Terminal) and execute the following command:
glxinfo | grep “Mesa”
This will produce output similar to the example below:
client glx vendor string: Mesa Project and SGIOpenGL core profile version string: 4.6 (Core Profile) Mesa 25.0.3-1ubuntu2OpenGL version string: 4.6 (Compatibility Profile) Mesa 25.0.3-1ubuntu2OpenGL ES profile version string: OpenGL ES 3.2 Mesa 25.0.3-1ubuntu2
The bolded text in the example above indicates your currently installed Mesa version.
Should you receive an error indicating that glxinfo is not found, you can install it.
On Ubuntu / Linux Mint / Debian, the package is named “mesa-utils.”
sudo apt install mesa-utils
For Arch Linux, the package is also called “mesa-utils”:
sudo pacman -S mesa-utils
On Fedora, the package is known as “glx-utils”:
sudo dnf install glx-utils
How to update Mesa?
The method for updating Mesa varies significantly depending on your specific Linux distribution. Each distribution has its own update mechanism. Many distributions deliver new Mesa versions with major system updates, for instance, when upgrading from Ubuntu 23.10 to Ubuntu 24.04. Rolling release distributions, like Arch Linux, typically provide regular Mesa updates as they become available.
For Ubuntu / Linux Mint (including Kubuntu, etc.), you can use the kisak-mesa fresh PPA to access the latest Mesa versions. To add this PPA and refresh your package list, use these terminal commands:
sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update
Afterward, initiate system upgrades to install the newer Mesa version:
sudo apt upgrade
Alternatively, for less frequent updates, you can opt for the kisak-mesa stable PPA.
Fedora, Arch Linux, Manjaro, EndeavourOS, Bazzite
These distributions frequently provide Mesa updates. Simply check for system updates using your distribution’s standard update tool.
Debian
Debian Stable is generally not recommended for gaming due to its older Mesa versions. If you prefer to stay with Debian, consider Siduction.
NVIDIA GPUs
For contemporary NVIDIA GPUs, the proprietary NVIDIA driver is essential. The installation process, similar to Mesa, is distribution-dependent, with some distributions offering a more straightforward experience than others.
Ubuntu / Kubuntu / Linux Mint etc
You can utilize the graphical “Additional Drivers” application, found in your system menu, to select and install your desired driver version. Another option is the graphics drivers PPA, which often grants access to more recent drivers.
To view available NVIDIA drivers on Ubuntu via the terminal, use:
sudo ubuntu-drivers list
Then, to install a specific driver series (e.g., the 560 driver series), execute:
sudo ubuntu-drivers install nvidia:560
A system reboot is required after installation.
Pop!_OS
Open the “Pop!_Shop” application and search for “nvidia-driver” to see the currently available options. Pop!_OS typically includes a range of both older and newer drivers out-of-the-box, thanks to its pre-installed official PPA, so additional steps are usually unnecessary. Pop!_Shop will display choices like nvidia-driver-570 and nvidia-driver-560; simply select the series you wish to install.
A system reboot is required after installation.
Fedora
This section applies to Fedora 41 or newer. The procedure varies based on whether Secure Boot is enabled. Regardless, you must first install the RPM Fusion repository to access the drivers.
1) Install RPM Fusion:
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
Additionally, the openh264 library needs to be enabled:
sudo dnf config-manager setopt fedora-cisco-openh264.enabled=1
2) Secure Boot (skip to section 3 if not applicable):
If Secure Boot is active, the following steps are necessary. First, install these packages:
sudo dnf install kmodtool akmods mokutil openssl
Next, generate a key:
sudo kmodgenca -a
Ensure you save this key. The subsequent step will prompt you to create a password; record it securely as it will be needed:
sudo mokutil –import /etc/pki/akmods/certs/public_key.der
Reboot your system now.
Upon reboot, you will encounter a screen for enrolment. Choose to import the key you generated earlier and enter the password you created.
3) Install Drivers
To install drivers for modern NVIDIA GPUs, use:
sudo dnf install akmod-nvidia
For CUDA and nvidia-smi functionality, install:
sudo dnf install xorg-x11-drv-nvidia-cuda
A system reboot is required after installation.
Once logged back in, you can verify the installation by running:
modinfo -F version nvidia
This command will display the installed driver version in the terminal.
Arch Linux
The appropriate NVIDIA GPU driver depends on your specific GPU generation. The Arch Wiki is the authoritative resource for this information. For Turing and newer architectures (e.g., 16xx, 20xx, 30xx series), you must choose one of the following:
- nvidia-open for the linux kernel
- nvidia-open-lts for the linux-lts kernel
- nvidia-open-dkms for any kernel(s)
You will also likely require 32-bit support, as many games are not 64-bit native. The Arch Wiki provides detailed instructions. Open the “/etc/pacman.conf” file and uncomment the [multilib] section, ensuring that part of the file appears as follows:
[multilib]Include = /etc/pacman.d/mirrorlist
Then, update Arch Linux either through your software updater application or by using this terminal command:
sudo pacman -Syu
After updating, you can install the NVIDIA 32-bit support:
sudo pacman -S lib32-nvidia-utils
A system reboot is required after installation.
Manjaro
Manjaro offers an automated installer accessible via the terminal:
sudo mhwd -a pci nonfree 0300
A system reboot is required after installation.
EndeavourOS
You can use EndeavourOS’s automated installation command in the terminal:
nvidia-inst –32
A system reboot is required after installation.
Debian
Debian provides a comprehensive wiki page on NVIDIA graphics drivers. The process varies based on your Debian version and GPU, involving several steps. Most other distributions simplify this significantly, and Debian Stable is generally not recommended for gaming due to its outdated software. Consider Siduction if you prefer to remain with Debian.
