Amd gpu for linux

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.

Читайте также:  Moving files linux to windows

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.

Читайте также:  Astra linux iptables save

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:

Читайте также:  Web developer on linux

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

See also

Источник

Оцените статью
Adblock
detector