It has been a few days since Steam asked for the public feedback in order to test ACO (a new Mesa shader compiler) for AMD GPUs.
Currently, the AMD drivers use a shader compiler utilizing LLVM. However, Mesa is an open source alternative to LLVM.
So, in this case, Valve wants to support AMD graphics to improve the performance of Linux games on various Linux distros.
For gaming performance improvement, the compile time is critical and with the new ACO compiler, it reduces the time by almost 50%. Valve explained more about it in its Steam community post:
The AMD OpenGL and Vulkan drivers currently use a shader compiler that is part of the upstream LLVM project. That project is massive, and has many different goals, with online compilation of game shaders only being one of them. That can result in development tradeoffs, where improving gaming-specific functionality is harder than it otherwise would, or where gaming-specific features would often accidentally get broken by LLVM developers working on other things. In particular, shader compilation speed is one such example: it’s not really a critical factor in most other scenarios, just a nice-to-have. But for gaming, compile time is critical, and slow shader compilation can result in near-unplayable stutter.
Is there really a performance boost for Linux games?
Yes, there is.
The primary highlight here is the compile time. If the shader compilation time reduces dramatically, it should theoretically improve the performance of the game.
And, as per the initial benchmark reports, we really do see some significant improvements.
Of course, the in-game FPS improvement isn’t huge. But, it is still a good progress in its early stage.
If you’re curious about the compile time improvement, then here it is:
Yes, even a big compile time reduction did not affect the in-game FPS by a large margin. But, it is still a big deal because currently, it is a work in progress. So, we can expect even more.
But, what more can be done?
Well, the ACO compiler isn’t complete yet. Here’s why (as Valve mentioned):
Right now, ACO only handles pixel and compute shader stages. When the rest of the stages are implemented, we expect the compile times will be reduced even further.
Wrapping Up
Even though I don’t have an AMD GPU on board, it is actually interesting to see improvements for the Linux gaming scene in general.
Also, we shall be expecting more benchmarks and reports as this progresses.
What do you think? Let us know your thoughts in the comments below. If you have a benchmark report to share, do let us know about it.