AMDGPU-PRO

From Gentoo Wiki
Jump to:navigation Jump to:search
Resources

AMDGPU-PRO is the next generation closed source graphics component that operates on top of the open source AMDGPU drivers for newer AMD/ATI Radeon graphics cards.

Users whose main use for their graphics card is gaming and other general home-use graphical hardware acceleration should use the open source AMDGPU drivers instead, since the performance of the open source drivers can be as much 100% more compared to AMDGPU-PRO.[1] However, the PRO driver provides a few features that Mesa still lacks, namely OpenGL compatibility profiles, OpenCL 2.0, and a fully conformant Vulkan implementation. Also, most of the games for which Mesa outperforms the closed-source driver run in Wine, rather than natively. Thus, the closed-source driver is mostly useful to users who want to play games (such as Civilization V) or use applications (such as UCSF Chimera) that rely on compatibility profiles, or want to run anything that uses Vulkan with advanced shaders, or want to fully exploit OpenCL.

Installation

Emerge

AMDGPU-PRO is currently available as:

Usage

Use AMDGPU-PRO Vulkan drivers for specific games

Warning
If the drivers were manually installed, please take care to remove the old files at e.g. /opt/amdgpu-pro before proceeding.
Note
It may be possible to set VK_ICD_FILENAMES via the env.d directory. It is likely better to set the variable per-application though as it may not always outperform Mesa, as mentioned above!

For some games, it might be useful to use AMDGPU-PRO Vulkan drivers instead of Mesas RADV drivers. For example, running Doom Eternal via Steam/Proton with Mesa RADV, I get about 70 FPS, running AMDGPU/PRO, I get about 144 FPS (max. settings, 1440p, Radeon 5700XT, 144hz monitor). You can manually install the Vulkan drivers to use on a per-game basis:

First, install the Vulkan drivers:

root #emerge --ask media-libs/amdgpu-pro-vulkan

Then start Steam (or the Vulkan based game) with the following command (following is for 64-bit):

user $VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json /usr/bin/steam

If it is a 32-bit game or application, instead run:

user $VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd32.json /usr/bin/foo

Alternatively, you can add the environment variable to Doom Eternal launch options inside steam) in order to use the amdgpu-pro vulkan driver instead of the default mesa RADV driver. Through the performance overlay of Doom Eternal, you can confirm it is using the correct driver (it will say AMD driver instead of Mesa).

For this to work, you need Vulkan working in general and have dev-util/vulkan-headers and media-libs/vulkan-loader installed.

See also

  • AMDGPU — the next generation family of open source graphics drivers using the new Display Core (DC) framework for Vega, Raven Ridge and later GPUs. It is however also capable of handling newer AMD/ATI Radeon graphics cards based on GCN1.0+, namely the Southern Islands, Sea Islands, Volcanic Islands, and Arctic Islands chipsets.
  • AMDVLK — an open-source Vulkan driver for AMD Radeon™ graphics adapters on Linux

External resources

References

  1. Phoronix - Radeon RX 550: AMDGPU-PRO vs. DRM-Next + Mesa 17.2-dev - ”Similar to what we've been seeing on other AMD hardware, the pure open-source driver stack can be much faster than AMDGPU-PRO.