AMD GPUs on Linux: amdgpu, Mesa, Vulkan, and ROCm Explained
AMD graphics are the easy case on Linux. Unlike NVIDIA, where the choice between proprietary and open drivers shapes everything (see our NVIDIA guide), AMD’s drivers are fully open source and built into the kernel and Mesa. On a current distribution, an AMD GPU usually just works. This guide explains the pieces, so you know what to update when it does not.
The driver stack
Games and apps
|
OpenGL / Vulkan / VA-API / OpenCL
|
Mesa (RadeonSI for OpenGL, RADV for Vulkan, VA-API, rusticl)
|
amdgpu kernel driver + firmware from linux-firmware
|
GPU
| Component | Job | Comes from |
|---|---|---|
| amdgpu | Kernel driver: memory, display, power, scheduling | The Linux kernel |
| Firmware | Microcode the GPU loads at boot | linux-firmware package |
| RadeonSI | OpenGL | Mesa |
| RADV | Vulkan | Mesa |
| VA-API | Video decode/encode | Mesa |
| ROCm | Compute (HIP) | AMD, separately |
Our Linux GPU drivers and Mesa graphics stack guides explain how these layers fit together generally.
Checking what you have
lspci -k | grep -A3 -E 'VGA|Display' # should show: Kernel driver in use: amdgpu
glxinfo -B | grep -E 'OpenGL renderer|version'
vulkaninfo --summary | grep -E 'deviceName|driverName'
You want amdgpu as the kernel driver, a renderer string naming your GPU (not llvmpipe, which is software rendering), and radv as the Vulkan driver.
New GPUs need new software
The most common AMD problem is a brand-new card on an older distribution. Support for a new GPU needs all three of:
- A kernel new enough to know the GPU
- Matching firmware files in
linux-firmware - A Mesa new enough for the architecture
uname -r
pacman -Q linux-firmware mesa # Arch
dpkg -l linux-firmware mesa-vulkan-drivers # Debian/Ubuntu
On Ubuntu LTS, the hardware enablement (HWE) kernel and its updated graphics stack help. For the newest Mesa, the kisak-mesa PPA is widely used. Fedora and Arch ship current releases within days or weeks, which is why they are common recommendations for new AMD hardware. The current Mesa release is Mesa 26.2.3.
Vulkan: RADV
RADV, Mesa’s Vulkan driver, is developed by Valve, Red Hat, Google, and others, and powers the Steam Deck. It is the default and best option for gaming on AMD.
AMD’s own open source Vulkan driver, AMDVLK, was discontinued by AMD in 2025, with AMD consolidating on RADV. If an old guide tells you to install amdvlk, skip it.
For gaming with Proton, see gaming on Linux with Proton; RADV and DXVK together are what make most Windows games run.
Video acceleration
Video decode and encode on AMD go through VA-API, provided by Mesa. Install mesa-va-drivers (Debian/Ubuntu), libva-mesa-driver (Arch), or mesa-va-drivers-freeworld from RPM Fusion on Fedora, which restores H.264 and HEVC. Check with vainfo. Our hardware video acceleration guide covers browsers.
Monitoring and control
sudo pacman -S amdgpu_top # or install from your distribution / the project's releases
amdgpu_top # engine usage, VRAM, clocks, temperature, power
- radeontop: a simpler usage view
- lm-sensors: temperature and fan speed via
sensors - LACT and CoreCtrl: graphical tools for fan curves, power limits, and clock settings
Overclocking and undervolting require unlocking the feature with a kernel parameter, amdgpu.ppfeaturemask=0xffffffff. That is safe to set, but the changes you then make are at your own risk; see kernel command-line parameters.
Power profiles can also be switched directly:
cat /sys/class/drm/card*/device/power_dpm_force_performance_level
which our sysfs guide explains.
ROCm: compute and AI
ROCm is AMD’s compute platform, the counterpart to NVIDIA’s CUDA. It provides HIP (a CUDA-like programming interface) and the libraries that PyTorch, llama.cpp, and other machine learning tools use.
Things to know:
- Official support covers a specific list of GPUs, mainly recent Radeon RX and Radeon Pro cards and Instinct accelerators. Check AMD’s compatibility matrix for your card before buying hardware for compute
- Installation is via AMD’s repositories for supported distributions, or distribution packages on Fedora and Arch
- Unsupported consumer cards sometimes work by overriding the GPU target with
HSA_OVERRIDE_GFX_VERSION, but that is unofficial and not guaranteed - Containers from AMD (
rocm/pytorchand similar) are often the easiest way to get a working stack
rocminfo | grep -E 'Marketing Name|gfx'
rocm-smi
For running local language models, Ollama supports ROCm on supported AMD GPUs and falls back to the CPU otherwise. AMD’s integrated NPUs are a separate path, with support for new chips arriving in Linux 7.4.
Troubleshooting
| Symptom | Likely cause |
|---|---|
llvmpipe renderer | GPU not used: missing firmware, too-old Mesa, or a VM without passthrough |
| Black screen on a new GPU | Kernel or firmware too old for the card |
| Games crash or have artefacts | Update Mesa; check for known issues with your Mesa version |
| Screen flicker at certain refresh rates | Try a different cable or disable VRR to test |
| Boot messages about missing firmware | Update linux-firmware and rebuild the initramfs |
sudo dmesg | grep -i amdgpu
journalctl -k -b | grep -i amdgpu
Our dmesg guide helps read those messages.
Frequently Asked Questions
Do I need to install drivers for an AMD GPU on Linux?
Usually not. The amdgpu kernel driver is part of the Linux kernel and Mesa provides OpenGL and Vulkan, so a modern distribution supports AMD graphics out of the box. The main thing to check is that your kernel, Mesa, and linux-firmware are new enough for very recent GPUs.
What is the difference between RADV and AMDVLK?
Both were Vulkan drivers for AMD GPUs. RADV is part of Mesa, developed largely by Valve and the community, and is the default and best-performing option for gaming. AMDVLK was AMD’s own open source Vulkan driver, which AMD discontinued in 2025 in favour of RADV.
How do I get a newer Mesa on Ubuntu?
Ubuntu LTS ships an older Mesa that is updated through hardware enablement stacks. For the newest version, many users add the kisak-mesa PPA for stable releases. Fedora and Arch ship current Mesa releases quickly, which is one reason they are popular for new AMD hardware.
What is ROCm?
ROCm is AMD’s open source compute platform, comparable to NVIDIA’s CUDA. It provides the HIP programming interface and libraries used by PyTorch, llama.cpp, and other machine learning tools. Official support covers a specific list of GPUs, mainly recent Radeon and Instinct cards.
How do I monitor my AMD GPU on Linux?
amdgpu_top shows usage of the graphics, video, and memory engines, along with clocks, temperatures, and power. radeontop gives a simpler view, and lm-sensors reports temperature and fan speed. LACT and CoreCtrl add graphical control over fans, power limits, and clocks.
Why does my new AMD GPU not work on an older distribution?
Very new GPUs need a recent kernel for amdgpu support, matching firmware files from the linux-firmware package, and a recent Mesa. An older LTS release may predate the card. Use the distribution’s hardware enablement kernel, a newer release, or a faster-moving distribution.