- Introduction
- Identifying your graphics card or APU
- Supported hardware
- AMDGPU PRO
- Purpose of proprietary components
- Installation
- Usage
- Using proprietary OpenGL
- How to ensure you are using AMDGPU-PRO driver
- Using proprietary Vulkan
- Using Advanced Multimedia Framework
- Troubleshooting
- Intel + AMD hybrid graphics
- Uninstalling packages
- Southern Islands (SI) or Sea Islands (CIK) GPUs
- Firmware and AMD drivers
- See also
Introduction
AMDGPU is AMD’s open source graphics driver for the latest AMD Radeon graphics cards. It is a compliment to the open source Radeon driver, which works with graphics cards not supported by AMDGPU. AMDGPU is under intense development in coordination with the larger open source community. AMDGPU supports a growing number of cards, but will not be available for pre-GCN (Graphics Core Next) architecture cards. This means that as development progresses, some select cards as far back as HD 7000 cards will be supported. No HD 6000 or prior cards will be supported.
Support for AMDGPU begins with Ubuntu 16.04 — which, incidentally, does not support fglrx — but it is also available for Ubuntu 14.04.5 with the HWE stack Xenial (check if the xserver-xorg-video-amdgpu package is installed).
AMDGPU-PRO is the open source AMDGPU driver with a proprietary overlay. What this means is that AMD’s «proprietary» driver will be based on its open source driver!
This guide shows you how to use the open source AMDGPU driver for some AMD graphics cards and APUs.
Identifying your graphics card or APU
First, check your graphic card name and chipset:
sudo update-pciids #optional command, requires internet
lspci -nn | grep -E 'VGA|Display'
It should report something like this for your graphics card and/or APU:
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV710 [Radeon HD 4550]
If the report shows two different hardware devices, then you probably have a «hybrid graphics» system, with an iGP (integrated graphics processor inside the CPU) and a dedicated GPU.
Supported hardware
All these AMD graphics cards and APUs have good 3D acceleration support. This is not an exhaustive list.
AMDGPU PRO
This page describes close source drivers for AMD GPUs.
Purpose of proprietary components
AMD releases their open source drivers via standard distribution channels. And they also periodically do releases of their Radeon Software for Linux suite, which includes both open and proprietary components. Open source components are not needed from there, and proprietary components are repacked from the latest ubuntu lts version. They are published in AUR in the amdgpu-pro-installer package base.
Comment by John Bridgman from AMD explaining why they still package close source drivers:
- customers using slower moving enterprise/LTS distros which do not automatically pick up the latest graphics drivers — we offer them both open source and proprietary/workstation options
- customers using workstation apps who need the extra performance/certification from a workstation-oriented driver (although Marek has done a lot of great work over the last year to improve Mesa performance on workstation apps)
- The third target audience is customers looking for ready-to-go OpenCL, either for use with the packaged open/closed drivers or with the upstream-based stack in a recent distro.
There are several proprietary components: OpenGL, OpenCL, Vulkan and AMF. Sometimes you may want to use these components due to specific features that open source components may lack.
AMDGPU PRO OpenGL is a proprietary, binary userland driver, which works on top of the open-source amdgpu kernel driver. From Radeon Software 18.50 vs Mesa 19 benchmarks article: When it comes to OpenGL games, the RadeonSI Gallium3D driver simply dominates the proprietary AMD OpenGL driver. Users of graphic cards other than Radeon Pro are advised to use the amdgpu graphics stack. Mostly used because of lacking compatibility layers that some software relies on. See gentoo wiki linked below.
AMDGPU PRO Vulkan — currently the only implementation that has ray tracing (however, reported by users as glitchy). Also it is required dependency for AMF.
AMDGPU PRO OpenCL — used because Mesa OpenCL is not fully complete. Proprietary component only for Polaris GPUs. The onward GPUs use the open ROCm OpenCL.
AMDGPU AMF — used for gpu encoding/decoding.
Installation
For proprietary OpenGL implementation, use the amdgpu-pro-installer package base. It contains all the following packages:
- amdgpu-pro-oglpAUR : For proprietary OpenGL implementation
- lib32-amdgpu-pro-oglpAUR : For proprietary OpenGL implementation 32 bit applications support
- vulkan-amdgpu-proAUR : For proprietary Vulkan implementation
- lib32-vulkan-amdgpu-proAUR : For proprietary Vulkan implementation 32 bit applications support
- amf-amdgpu-proAUR : For Advanced Media Framework implementation
Note: OGLP is not a performance optimization of opengl, it is an all-new GL driver codebase written from scratch, based on the PAL architecture. in version > 22.20.5 it replaces the libgl
For available OpenCL implementations see GPGPU#AMD/ATI.
For OBS to work with it use obs-studio-amf AUR
Usage
Using proprietary OpenGL
Launch your application with progl prefix, for example:
How to ensure you are using AMDGPU-PRO driver
Run the following command:
$ glxinfo | grep "OpenGL vendor string" | cut -f2 -d":" | xargs
If it returns AMD , then you are running open source driver. If it returns Advanced Micro Devices, Inc. , then you are running proprietary driver.
Alternatively, run glmark2. When using open driver, in OpenGL Information you will see:
GL_VENDOR: AMD GL_RENDERER: Radeon RX 580 Series (POLARIS10, DRM 3.40.0, 5.10.7-arch1-1, LLVM 11.0.1) GL_VERSION: 4.6 (Compatibility Profile) Mesa 20.3.3
But when using closed driver, you will see:
GL_VENDOR: ATI Technologies Inc. GL_RENDERER: Radeon RX 580 Series GL_VERSION: 4.6.14756 Compatibility Profile Context
Using proprietary Vulkan
Launch your application with vk_pro , for example:
Using Advanced Multimedia Framework
Troubleshooting
Intel + AMD hybrid graphics
For users of a hybrid setup with both an Intel GPU and an AMD GPU, usage of the proprietary AMDGPU Pro Workstation Driver might not work as expected due to different MESA implementations.
The symptom is the following: when you boot your machine, you get a black screen, but with your mouse cursor is moving normally.
Unfortunately, Reverse PRIME is not a solution. See the developer response.
Uninstalling packages
If you are in trouble, for example, you cannot login to your system due to black screen, you can revert all back by uninstalling all packages related to AMDGPU PRO.
Switch a virtual console (with e.g. Ctrl+Alt+F2 ), login and run:
# pacman -R $(pacman -Qg Radeon_Software_for_Linux | cut -f2 -d" ")
Southern Islands (SI) or Sea Islands (CIK) GPUs
If using Southern Islands (SI) or Sea Islands (CIK) GPU, when running clinfo , you get:
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
then ensure you are using amdgpu driver, but not radeon.
Check which driver is currently in use:
03:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Opal XT [Radeon R7 M265/M365X/M465] Subsystem: Acer Incorporated [ALI] Aspire V5 Radeon R7 M265 Kernel driver in use: radeon Kernel modules: radeon, amdgpu
Firmware and AMD drivers
AMD drivers and firmware (especially recent firmware) can get out of sync and create issues or not work at all. You can search in the journal for VNC :
system VCN FW Encode interface version=1.9, expected version=1.8
Downgrading the firmware seems to fix the problem.
- As of 2023-05-06, the 7900 cards works with the linux-firmware version 20221214.f3c283e-1, see amdgpu-pro GitHub issue.
- As of 2023-05-30 version 23.10-1595145 of the AMDGPU PRO seems to fix the 7900 cards if use the linux-firmware-gitAUR