On Linux, there are multiple drivers that one can install. Choosing the one you need can be difficult if you do not know what drivers are for what vendor and the perks and downsides of each option. This section explains all of that to better help you decide what you want or need.
Gallium3D is a technology that Mesa-25.1.0 relies on for OpenGL. In other
words, Gallium3D drivers are just OpenGL drivers. Each Gallium3D
driver is meant for different systems except zink
which just feeds OpenGL instructions
to the main Vulkan driver you install for your system.
There are 3 AMD GPU drivers: AMDGPU (Radeon Southern Islands and later), ATI (r300 and r600), and AMDGPU PRO (proprietary AMDGPU driver).
AMDGPU (Mesa-25.1.0): This driver
is for AMD GPUs that are Southern Island Cards or later. It is open
source and is the most standard AMD GPU driver. This driver is in
the Linux kernel. There is one Gallium3D driver, radeonsi
, and one Vulkan driver,
amd
.
ATI (Mesa-25.1.0): This driver is
for the ATI AMD GPUs which precede GCN GPUs. It is open source and
targets older GPUs. The driver is in the Linux kernel. There are
two Gallium3D drivers: r300
and
r600
. For Vulkan, there is one
driver, amd
.
AMDGPU PRO (AMDGPU PRO): This driver is proprietary. Most users don't install this driver as the open source drivers are already well off. However, it is needed for hardware acceleration encoding, useful for those who wish to record and edit videos. Performance in games varies between the open source and proprietary drivers so the ending factor is if you record and edit videos or not. You will need the firmware and open source kernel driver for this driver.
Summary: If you are a regular user with a modern AMD GPU, use AMDGPU. If you have an older card, go with ATI. Use AMDGPU PRO if you want an improvement with hardware acceleration encoding.
Intel provides open source drivers, but for sake of simplicity, all the relevant open source drivers will be classified as one - i915. There is another driver called uvesafb.
i915 (Mesa-25.1.0): This driver, or rather collection of drivers, is for most Intel integrated and discrete GPUs. It is a single option in the Linux kernel but has various Gallium3D and Vulkan drivers. There is a good list on the Mesa-25.1.0 page under “Command Explanations” that will explain what Gallium3D and Vulkan driver you will need.
uvesafb (not in this book): This driver is for the Intel GMA 3600 series, a family of integrated video adapters based on the PowerVR SGX 545 graphics core. This driver was in the kernel since 3.5 but no longer since 4.15. This driver is not included in the book because of its lack of use by most people, but has a good Arch Linux wiki page at https://wiki.archlinux.org/title/Intel_GMA_3600.
The situation revolving around NVIDIA is more unfortunate than the two vendors listed above and more complicated. NVIDIA does not support open source drivers besides their own open source kernel modules. Therefore performance with the open source driver, Nouveau, is slightly worse than NVIDIA's proprietary driver. Installing the proprietary driver can also be easier.
Nouveau (Mesa-25.1.0): This driver
is open source but has generally worse performance than
NVIDIA. The driver is in the
Linux kernel. It has one Gallium3D driver, nouveau
, and one Vulkan driver,
nouveau
[2]. The Gallium3D driver is known for its
lackluster performance. The Vulkan driver is much more performant.
For this reason, if you want to use Nouveau, it is highly recommended to
install the Vulkan driver as well the zink
Gallium3D driver so that OpenGL
instructions can be fed into the Vulkan driver.
NVIDIA (NVIDIA-575.51.02): This is the proprietary driver and the performance of this driver is better than the open source alternative. It allows the use of NVIDIA's CUDA project which is useful for hardware acceleration, improving performance of games and workstation applications. This driver has a lot of issues to this day but still provides better performance, thus its installation is provided in this book. Firmware isn't needed as it is provided by this driver.
Summary: If you want good performance and care about workstation
use cases, install NVIDIA.
If you don't want to use the proprietary NVIDIA driver, use
Nouveau. Installing
zink
is a good idea, too.
[2]
The nouveau
Vulkan driver is
also known as NVK, although the argument for NVK in -D vulkan-drivers=
is just
nouveau
and does not have an
alias.