AMDVLK

From LinuxReviews
Jump to navigationJump to search
AMD Open Source Driver
for Vulkan
Amdlogo.png
Basemark GPU benchmarking Vulkan performance
Basemark GPU benchmarking Vulkan performance
Initial releasev-2020.Q3.6 September 27, 2020; 15 months ago (2020-09-27)
Repositorygithub.com /GPUOpen-Drivers/AMDVLK.git
Operating systemUbuntu, RedHat
TypeGraphics driver
(Vulkan driver for AMD GPUs)
LicenseMIT Software License
Websitegithub.com /GPUOpen-Drivers/AMDVLK

AMDVLK is a MIT-licensed Vulkan driver for AMD graphics cards. It differs from the Mesa RADV Vulkan driver included most GNU/Linux distributions by default. It is built on top of AMD's Platform Abstraction Library (PAL).

AMDVLK works with the amdgpu kernel driver. There is no support for using the older radeon driver.

Performance and application support differs from the RADV driver. What driver you prefer will probably be a simple matter of taste unless you are going to use Wine or Vulkan compute, in which case you should avoid AMDVLK like the plague. AMDVLK does not play nice with DXVK, and Vulkan compute performance is dismal compared to the Mesa RADV driver.

You have to install AMDVLK if you want to use it, GNU/Linux distributions ship the Mesa RADV Vulkan driver by default.

Distribution Support[edit]

AMDVLK is only officially supported on:

  • Ubuntu 20.04 (64-bit version)
  • Ubuntu 18.04 (64-bit version)
  • RedHat 8.2 (64-bit version)
  • RedHat 7.8 (64-bit version)

It is possible to use the AMDVLK drivers on a wide range of "unsupported" distributions. Distributions who use Ubuntu as a base will be able to use the Ubuntu-packages and the RedHat packages work fine on Fedora.

GPU Support[edit]

AMDVLK Vulkan Driver Support
GPU Family AMDVLK status GPU(s) Generation
Northern Islands Dialog-cancel.svg
  • Radeon HD 6000 Series
  • Radeon HD 6000M Series
  • Radeon HD 7450
  • Radeon HD 7670
gfx5
Southern Islands Dialog-ok.svg
  • Radeon HD 7000 Series (partly)
  • Radeon HD 8000M Series
  • Radeon M200
  • AMD FirePro Workstation Wx000
gfx6
Sea Islands Dialog-ok.svg
  • Radeon HD 8000M Series
    • Radeon R5/R7/R9 200/300 Series
    • Radeon M300 Series
    • AMD FirePro Workstation Wx100
    • AMD FirePro Workstation Wx300
gfx7
Dialog-cancel.svg AMD Athlon 5350 APU with Radeon R3
Volcanic Islands Dialog-ok.svg
  • Radeon RX 400/500 Series
  • Radeon M400 Series
  • Radeon Pro 400/500 Series
gfx8
Vega Dialog-ok.svg Radeon RX Vega Series gfx9
Navi Dialog-ok.svg
  • Radeon RX 5700/5500 Series
  • Radeon W5700/W5500 Series
gfx10
Vangogh Blond-anime-girl-with-red-questionmark.png gfx10.3

AMD Switchable Graphics[edit]

AMDVLK installs a "implicit" Vulkan layer called "AMD switchable graphics" in /etc/vulkan/implicit_layer.d/amd_icd64.json. It makes AMDVLK the default Vulkan implementation and disables other Vulkan implementations so applications do not see them. Choosing a preferred Vulkan implementation with "AMD switchable graphics" enabled is still possible by setting a special environment variable called AMD_VULKAN_ICD. AMDVLK is the default, and only available implementation, if it is unset.

Mesa RADV AMD_VULKAN_ICD="RADV"
AMD AMDVLK AMD_VULKAN_ICD="AMDVLK"

It is possible to add env AMD_VULKAN_ICD="RADV" to the Exec line in a games .desktop file (files in /usr/share/applications/ and $HOME/.local/share/applications desktop environments use to provide menu items).

Many Vulkan applications let you choose what Vulkan implementation should be used if more than one is available. Those will only see one if the "AMD switchable graphics" layer is enabled. There is a special DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1 variable you can set with DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1 if you want to be able to choose between all the installed Vulkan implementations within applications like Basemark GPU.

Snubbelrisk.jpg
Warning: WINE software using DirectX 9 to 11 will use AMDVLK and fail to run if you use DXVK and have the AMDVLK "AMD switchable graphics" enabled even if you set AMD_VULKAN_ICD="RADV" in your $HOME/.bashrc unless you export it:
export AMD_VULKAN_ICD="RADV"

See also[edit]


Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.