AMDVLK 2021.Q4.3 Released To Fix Poor Wayland Performance
AMDVLK 2021.Q4.3 was released this morning as their latest routine code drop accompanied by binaries for RHEL/CentOS 7 and 8 and Ubuntu LTS releases. It's been three weeks since the last AMDVLK code drop while this end-of-year release has just a few changes but rather notable.
First up, the AMDVLK 2021.Q4.3 driver has implemented support for VK_EXT_global_priority_query. This extension is for querying the global queue priorities as part of the global priority handling for Vulkan. This extension was introduced to the Vulkan spec back in June with Vulkan 1.2.180. This AMD open-source Vulkan driver update also rebuilds against the Vulkan 1.2.201 header files.
When it comes to AMDVLK 2021.Q4.3 fixes that is arguably what is most exciting. Besides fixing up some Vulkan conformance test suite (CTS) failures and memory leaks, this release finally addresses the poor Vulkan performance under Wayland.
While AMDVLK has worked on non-LTS Ubuntu releases like Ubuntu 21.04 or 21.10, it has not been officially supported and the performance very poor. It was an issue showcased months ago and came about by Ubuntu switching to the GNOME Wayland session by default rather than the X.Org based session used on Ubuntu 20.04 LTS. AMD's release notes for today's AMDVLK update note that the Wayland Vulkan performance could be as much as 40% lower than Ubuntu 20.04 on the X.Org session. This jives with what I had seen as well and in turn why in some tests the Mesa RADV Vulkan driver performed so much better: AMDVLK had serious issues with Wayland.
Those Wayland issues are now reported to be resolved and thus AMDVLK should behave better with newer Linux distributions often now using the Wayland session by default. The timing is also important with Ubuntu 22.04 this spring being their first Long Term Support release using the GNOME Wayland session as the default. Due to AMD squashing their internal commits into single commits when making AMDVLK code drops public and this latest Platform Abstraction Layer (PAL) update in turn being a +14k/-7k line patch, it's not immediately clear what was going so wrong in their Wayland path to wreck the performance until now.
The AMDVLK 2021.Q4.3 driver in source form and Ubuntu/RHEL binaries can be found via GitHub.
Ending out 2021, this open-source AMD Vulkan driver is still not supporting the Vulkan ray-tracing extensions. While AMD's closed-source Vulkan driver on Linux and Windows does support the RT extensions, the AMDVLK driver derived from the same sources does not in part because AMDVLK is using the open-source LLVM shader compiler back-end rather than AMD's internal/proprietary shader compiler.
A fresh end-of-year Linux Vulkan driver benchmark comparison forthcoming...