AMDVLK
Basemark GPU benchmarking Vulkan performance | |
Initial release | v-2020.Q3.6 September 27, 2020 |
---|---|
Repository | github.com /GPUOpen-Drivers/AMDVLK.git |
Operating system | Ubuntu, RedHat |
Type | Graphics driver (Vulkan driver for AMD GPUs) |
License | MIT Software License |
Website | github.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]
GPU Family | AMDVLK status | GPU(s) | Generation |
---|---|---|---|
Northern Islands |
|
gfx5 | |
Southern Islands |
|
gfx6 | |
Sea Islands |
|
gfx7 | |
AMD Athlon 5350 APU with Radeon R3 | |||
Volcanic Islands |
|
gfx8 | |
Vega | Radeon RX Vega Series | gfx9 | |
Navi |
|
gfx10 | |
Vangogh | 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.
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"
|
Enable comment auto-refresher