Initial Radeon vs. GeForce Vulkan Ray-Tracing Performance On Linux
With today's Radeon Software for Linux 21.10 packaged driver release is the first time Vulkan ray-tracing is being exposed on Linux for AMD Radeon graphics cards with any of the multiple driver options. Here are some initial benchmarks looking at how the Radeon RX 6000 series Vulkan ray-tracing performance is on Linux compared to NVIDIA's Vulkan ray-tracing support with the existing RTX 20/30 series hardware.
As outlined in the earlier article, Radeon Software for Linux 21.10 delivers initial Vulkan ray-tracing support via this packaged driver on enterprise Linux distributions. This initial Vulkan ray-tracing support is just in their binary driver stack and hasn't yet appeared in AMDVLK as their open-source AMD Radeon Vulkan driver build. Hopefully that AMDVLK code drop will come soon for those not wanting to use the packaged driver or running on an unsupported distribution, etc. Meanwhile as mentioned the Mesa RADV Vulkan driver is also working towards Vulkan ray-tracing but will likely be still some more time before that is ready to go and merged into Mesa.
Simply put, if you want to make use of Vulkan ray-tracing today with AMD Radeon graphics on Linux you need to be using the Radeon Software for Linux 21.10 packaged driver that debuted today. The other important aspect to be aware of is that Vulkan ray-tracing is only available with the Radeon RX 6000 (RDNA2) series graphics cards and not prior hardware.
If you install the new Radeon Software Linux driver you should find VK_KHR_ray_query and the other Vulkan ray-tracing extensions now exposed on Linux. In my tests using the Radeon Software for Linux 21.10 driver it worked out fine across the RX 6700, RX 6800, and RX 6800 XT graphics cards (I still have no RX 6900 series hardware for testing, thus just the RX 6700/6800 series being tested today).
While it's unfortunate that it took a half-year since the Vulkan ray-tracing extensions were finalized (and shortly thereafter the Radeon Software Windows driver shipped its support), Linux gamers ultimately aren't missing out too much. For developers it would have been great though seeing the punctual Vulkan ray-tracing support.
When it comes to Vulkan ray-tracing on Linux there are a few benchmark friendly demos as the main users. Last week's release of the Metro Exodus Linux port does support Vulkan ray-tracing albeit there other issues have been preventing us from benchmarking that game yet. There isn't any other major Linux games making use of Vulkan ray-tracing at this point.
Arguably having the most promise is VKD3D-Proton working on being able to map Windows games with DirectX Ray-Tracing (DXR) to run atop the Vulkan API. VKD3D-Proton is making progress on DXR support and hopefully will be come quite viable in the not too distant future for enjoying ray-traced Direct3D 12 games running on Steam Play on Linux.
For today's launch-day benchmarking of AMD Radeon Vulkan ray-tracing on Linux it means just a few of the open-source RT demos available for testing. The Radeon RX 6700 / RX 6800 / RX 6800 XT graphics cards were benchmarked against the NVIDIA GeForce RTX 2060 SUPER / RTX 2070 SUPER / RTX 2080 SUPER / TITAN RTX / RTX 3060 / RTX 3060 Ti / RTX 3070 / RTX 3080 / RTX 3090 graphics cards. Thanks to NVIDIA and AMD for supplying the graphics cards under test for Linux benchmarking. Ubuntu 20.04 was running on this Ryzen 9 5900X test system and the packaged Radeon Software for Linux 21.10 was used for the AMD graphics cards and with NVIDIA was their 460.67 driver.