AMD has been working on a new Linux graphics driver stack, and it’s finally becoming usable. You can install the gaming-optimized AMDGPU-PRO driver on Ubuntu 16.04 today, and Valve just added it to the latest beta version of SteamOS.
What is AMDGPU-PRO?
Traditionally, there were two AMD graphics drivers on Linux. When you installed your Linux distribution of choice, you got the default “Radeon” driver. This driver was completely open-source so it could easily be distributed and developers could help improve it and keep it compatible with the latest software. It was perfectly fine for basic desktop use and very light gaming. But it was slower than AMD’s gaming-optimized driver when it came to 3D gaming.
AMD also provided a driver known as “fglrx.” This driver is completely closed-source, so you had to install it after installing your Linux distribution. AMD’s developers have struggled to keep it compatible with the latest Linux kernel and graphical X server. It's more optimized for gaming and provides faster graphical 3D performance, but has its own unique bugs. Even new driver releases like “Radeon Software Crimson” for Linux are still based on fglrx, which is why they’re so disappointing.
With AMDGPU, AMD has gone for a hybrid approach. The core driver, known as AMDGPU, is open source. Developers can work on and improve it, and it can come with your Linux distribution. In fact, Ubuntu 16.04 already ships AMDGPU.
AMD is also providing a binary package known as AMDGPU-PRO. This is a closed-source component that enables more optimized 3D performance in games. It effectively plugs into the underlying open-source driver. This means that AMD is really just working on one driver, and improvements the open-source community makes to the underlying driver will also help AMD’s closed-source driver.
Nvidia hardware is still split between an open-source and separate closed-source driver, but Nvidia has traditionally done a better job of supporting its closed-source driver.
Yes, there’s still a closed-source component. AMD and Nvidia both seem to believe this is necessary. It may be for a variety of reasons—the source code may include code licensed from other companies that can’t be open-sourced, for example. Or AMD and Nvidia may both want to hide their optimizations so their competitors can’t look at and copy them.
How to get the AMDGPU-PRO beta driver
AMDGPU-PRO is still in beta, which is why Ubuntu recommends sticking with Ubuntu 14.04 if you’re a Linux gamer with AMD graphics. But you can try AMDGPU-PRO today, if you have the hardware.
AMD offers a download page where you can download the AMDGPU-PRO driver for Ubuntu 16.04. At the moment, only Ubuntu 16.04 is supported. Its installation guide will help you install the beta driver on your Ubuntu system by entering the appropriate commands. It’s a bit of work at the moment, but there should be an easier way to get this driver when it’s stable.
This driver will also appear in more Linux distributions going forward. Valve just added it to the beta of SteamOS 2.80. This driver also enables Vulkan support for supported AMD GPUs on Linux, which is a big deal for SteamOS.
Bear in mind that this driver isn’t yet compatible with anywhere near as many AMD graphics processors as the older driver is. At the moment, AMD says the driver is only compatible with AMD Radeon R9 Fury X, R9 Fury, R9 Nano, R9 M395X, R9 380X, R9 380, and R9 285 graphics processors.
Eventually, AMD plans to support hardware going back to the GCN 1.0 “Southern Islands” GPUs—that’s the Radeon HD 7000 series and newer. Older hardware won’t be supported with the AMDGPU driver.