Last summer, we heard that Valve was working on a new shader compiler called ACO, which would be part of the Vulkan for AMD graphics, RADV, which is also part of Mesa.
RADV has been consolidated as the main GNU/Linux driver for running Vulkan API in AMD graphics, but until today it showed a somewhat inconsistent performance against AMDVLK, AMD’s official Vulkan implementation that is part of AMDGPU-PRO.
This opened the door for a lot of software
with the games in particular facing the end users to perform better with the official driver than with the community one, with the prejudice that the first one can’t be installed, at least officially, in all distributions, because AMD only supports specific versions of specific distributions, while the community one works in (almost) all distributions out of the box being part of Mesa. In short, Valve’s intention with ACO is to improve the performance of RADV, although the company warned that there would be no miracles.
After putting you in the situation, the following questions arise: Is ACO meeting expectations, is it posing as what RADV needs to defeat AMDVLK? According to tests made by Michael Larabel (head of Phoronix and main developer of the benchmarks suite of the same name) with Mesa 20.0 devel obtained from PPA Oibaf (Ubuntu), it seems that this development driven by Valve invites hope, which we will see in the following results.
RADV+ACO Vs AMDVLK
The first game tested is Dota 2 executed at 4K resolution. As far as can be seen, the situation is as predicted by Valve. The combination of RADV and ACO outperforms both standard RADV and AMDVLK, although possibly the surprising thing is to see standard RADV outperforming AMDVLK, as this title has generally been a field dominated by the official driver.
In Dawn of War III, one of the many ports made by Feral Interactive to Vulkan from DirectX, we see how at 1080p and ultra quality RADV+ACO outperforms AMDVLK with some clarity, especially in the unfairly defenestrated Vega 64, which is one of the graphics that have aged best in recent years.
On the other hand, at 2560×1440 resolution the differences seem to be reduced with RADV+ACO maintaining the first place in all the fronts. It is important to note that Feral Interactive’s ports are usually RADV terrain.
In F1 2017, native for GNU/Linux thanks to Feral Interactive and running at 1080p and ultra high quality, we see RADV+ACO winning again with some difference, especially on the Vega 64 and Navi graphics (RX 5500 XT and RX 5700 XT), while on the RX 580 the standard RADV driver is defeated by AMDVLK. It seems that the more recent the technology, the more difference RADV+ACO will make. We will see if the trend continues.
Although a development version of Mesa has been tested, the results of the Phoronix tests show that ACO has been a positive contribution to RADV, which will soon be able to compete under better conditions with AMDVLK.
This means that users of AMD graphics on GNU/Linux will have to put less and less hands on the system to be able to play and squeeze Vulkan under good conditions, something that is important not only in native games, but also with Steam Play.
The limitations in AMDVLK make the support of ACO very important to play with more guarantees from any distribution, specially those that are not officially supported by AMD, something that is added to the greater facilities that are given in this sense distributions like Fedora, that due to its approach makes the steps necessary to play are very few, less than with NVIDIA. Better is Manjaro, which just installed is ready to run games without any additional steps beyond starting Steam and downloading the games.