A Closer Look At The AMDVLK vs. RADV vs. AMDGPU-PRO Vulkan Performance

Written by Michael Larabel in Display Drivers on 27 December 2017 at 01:00 PM EST. Page 1 of 4. 25 Comments.

Back on Christmas Eve I posted our initial AMDVLK Radeon Linux driver benchmarks for this newly open-sourced official Radeon Vulkan driver. Complementing those earlier Vulkan Linux gaming numbers are some more performance metrics for AMDVLK compared to the Mesa-based RADV driver and then the closed-source AMDGPU-PRO Vulkan driver.

The AMDVLK testing going on nearly one week has continued working out fairly well, at least when testing it on the officially supported distributions (RHEL7 and Ubuntu 16.04 LTS) and now have tested it on a range of graphics cards. It's working out fairly well although RADV at the moment still seems to be better for Linux gamers playing Vulkan titles like F1 2017, Mad Max, Dawn of War III and Dota 2.

As previously outlined, when it comes to AMDVLK vs. AMDGPU-PRO Vulkan drivers they are from the same code lineage but the current AMDVLK open-source code is a few weeks newer than what's found in the current public AMDGPU-PRO 17.50 driver. Additionally, AMDGPU-PRO's Vulkan driver plugs into AMD's proprietary shader compiler stack that was not open-sources as part of AMDVLK/XGL open-sourcing: instead the AMDVLK Vulkan driver takes the LLVM IR and with its forked LLVM code-base converts it directly to the GPU's native ISA for execution.

For this second round of benchmarking the AMD Vulkan Linux drivers, it's mostly focused now on using some open-source micro-benchmarks for a different look at things compared to the various Linux game ports. The gl-vs-vk test was used as well as the Phoronix Test Suite / OpenBenchmarking.org now packaging Collabora's VKMark Vulkan test collection.

Besides those Vulkan micro-benchmarks, a few of the Vulkan Linux games were also re-tested while also having the Phoronix Test Suite monitor the CPU utilization to see if there's any difference there between these three Vulkan Radeon drivers on Linux right now.

The tested cards were the Radeon RX 560, RX 580, R9 Fury, and RX Vega 64. There was also the Radeon R9 290 (GCN 1.1 / Hawaii) card tested too when using the experimental AMDGPU DRM support for representing an older Radeon GPU.

Vulkan Micro Tests

The AMDVLK / RADV tests were done from Mesa 17.4-dev (for RADV) and when using the Linux 4.15 Git kernel. The AMDGPU-PRO 17.50 testing was done when using the Ubuntu 16.04 LTS stock kernel of Linux 4.10 for official compatibility. Everything else stayed the same when testing the five graphics cards on the three different AMD Vulkan Linux drivers.


Related Articles