AMD GPUs on Linux: amdgpu, Mesa, Vulkan, and ROCm Explained

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
ComponentJobComes from
amdgpuKernel driver: memory, display, power, schedulingThe Linux kernel
FirmwareMicrocode the GPU loads at bootlinux-firmware package
RadeonSIOpenGLMesa
RADVVulkanMesa
VA-APIVideo decode/encodeMesa
ROCmCompute (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:

  1. A kernel new enough to know the GPU
  2. Matching firmware files in linux-firmware
  3. 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/pytorch and 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

SymptomLikely cause
llvmpipe rendererGPU not used: missing firmware, too-old Mesa, or a VM without passthrough
Black screen on a new GPUKernel or firmware too old for the card
Games crash or have artefactsUpdate Mesa; check for known issues with your Mesa version
Screen flicker at certain refresh ratesTry a different cable or disable VRR to test
Boot messages about missing firmwareUpdate 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.