You can sign up to get a daily email of our articles, see the Mailing List page!

AMD make switching between Vulkan drivers AMDVLK and RADV easier

By - | Views: 16,917

On Linux with AMD GPUs you can decide between the RADV and AMDVLK drivers for Vulkan API support, and it appears AMD want to make things a little easier for you.

It can get a little confusing so here's the real basics: AMDVLK is the "official" external Vulkan driver developed by AMD, whereas RADV is part of Mesa and comes with most distributions by default. Sometimes certain games work better on one, sometimes on the other. Additionally, AMD only directly support Ubuntu and Red Hat, whereas Mesa with RADV focuses on everything they can.

With the latest AMDVLK 2021.Q1.1 release, AMD has made switching between the two a little easier. With this driver installed, you only need to set an environment variable to tell whatever game or application you're using what driver to use with "AMD_VULKAN_ICD" set to either "AMDVLK" or "RADV". The default is AMDVLK of course, if none is set.

Here's the highlights of this new driver release:

New feature and improvement

  • Add AMD switchable graphics layer to switch AMD Vulkan driver between amdvlk and RADV
  • Update Khronos Vulkan Headers to 1.2.164
  • Navi21 performance tuning for game X-Plane, Madmax, Talos Principle, Rise of Tomb Raider, F12017

Issue fix

  • RPCS3 Corruption observed on Game window on Navi10

See more on GitHub.

Article taken from GamingOnLinux.com.
Tags: AMD, Drivers, Vulkan
25 Likes, Who?
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG and Humble Store. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
25 comments
Page: «3/3
  Go to:

tuubi 9 Jan
Quoting: mylka
Quoting: fagnerlnAMD and Valve are two of most helpful companies and must be supported from us.

meehhh they kicked the AMD sensor thingy (k10temp) out of kernel 5.10 because a lack of documentation. now some values are useless and i have to stick with kernel 5.9
Well that's not quite the whole truth. The module exists and still reports temperatures, but the reason it doesn't report voltage and current any more is not just about the documentation. Here's the relevant commit message:

QuoteVoltages and current are reported by Zen CPUs. However, the means
to do so is undocumented, changes from CPU to CPU, and the raw data
is not calibrated. Calibration information is available, but again
not documented. This results in less than perfect user experience,
up to concerns that loading the driver might possibly damage
the hardware (by reporting out-of range voltages). Effectively
support for reporting voltages and current is not maintainable.
Drop it.

If there's code in the kernel that might risk damaging your hardware (or simply provides unreliable data), I'd say removing it is a good decision.
Termy 9 Jan
I only had to use AMDVLK one or two years ago for Divinity OS 2, other than that radV has served me perfectly well. Nevertheless, it's nice to see this being made easier, i needed a bit to figure out how to switch via the VK_ICD_FILENAMES env
mylka 9 Jan
Quoting: tuubi
Quoting: mylka
Quoting: fagnerlnAMD and Valve are two of most helpful companies and must be supported from us.

meehhh they kicked the AMD sensor thingy (k10temp) out of kernel 5.10 because a lack of documentation. now some values are useless and i have to stick with kernel 5.9
Well that's not quite the whole truth. The module exists and still reports temperatures, but the reason it doesn't report voltage and current any more is not just about the documentation. Here's the relevant commit message:

QuoteVoltages and current are reported by Zen CPUs. However, the means
to do so is undocumented, changes from CPU to CPU, and the raw data
is not calibrated. Calibration information is available, but again
not documented. This results in less than perfect user experience,
up to concerns that loading the driver might possibly damage
the hardware (by reporting out-of range voltages). Effectively
support for reporting voltages and current is not maintainable.
Drop it.

If there's code in the kernel that might risk damaging your hardware (or simply provides unreliable data), I'd say removing it is a good decision.

i dont think linus wanted to kick it out so my point still stands. its AMDs fault


Last edited by mylka on 9 January 2021 at 3:14 pm UTC
pete910 9 Jan
View PC info
  • Supporter Plus
Quoting: mylka
Quoting: tuubi
Quoting: mylka
Quoting: fagnerlnAMD and Valve are two of most helpful companies and must be supported from us.

meehhh they kicked the AMD sensor thingy (k10temp) out of kernel 5.10 because a lack of documentation. now some values are useless and i have to stick with kernel 5.9
Well that's not quite the whole truth. The module exists and still reports temperatures, but the reason it doesn't report voltage and current any more is not just about the documentation. Here's the relevant commit message:

QuoteVoltages and current are reported by Zen CPUs. However, the means
to do so is undocumented, changes from CPU to CPU, and the raw data
is not calibrated. Calibration information is available, but again
not documented. This results in less than perfect user experience,
up to concerns that loading the driver might possibly damage
the hardware (by reporting out-of range voltages). Effectively
support for reporting voltages and current is not maintainable.
Drop it.

If there's code in the kernel that might risk damaging your hardware (or simply provides unreliable data), I'd say removing it is a good decision.


i dont think linus wanted to kick it out so my point still stands. its AMDs fault

Linux wants or not wants anything, This was down to one mans decision, Linus !

Is it AMD's fault? Partly I agree, but not solely.
torbido 15 Feb
I installed the latest AMDVLK, but RADV is still the default Vulkan driver. Also, I tried AMD_VULKAN_ICD=AMDVLK and it did nothing. The only way to load AMDVLK is by using the old method:
VK_ICD_FILENAMES=/etc/vulkan/icd.d/amd_icd32.json:/etc/vulkan/icd.d/amd_icd64.json
While you're here, please consider supporting GamingOnLinux on:

Patreon, Liberapay or PayPal Donation.

We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register

Or login with...
Sign in with Steam Sign in with Twitter Sign in with Google
Social logins require cookies to stay logged in.

Livestreams & Videos
Community Livestreams
Latest Forum Posts