|

Linux Games Get A Performance Boost for AMD GPUs Thanks to Valve’s New Compiler

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.

Improved Linux Gaming

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.

Fps Improvement Amd

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:

Compile Time Amd Gpu Linux

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.

Similar Posts

  • Bullcrap! I just Installed American Truck Simulator on Linux through steam Its lags so bad I had to reinstall windows 10 now the game no longer lags

  • I’m just curious (not nitpicking). Won’t the improvement be just for the startup time of games i.e when the shaders get compiled? How does this improve in-game FPS?

    • Are you sure that is when all shader’s get compiled? Now that I think about it, this should happen at install time, cached to disk and when the game detects a change in the graphics card hardware or driver surely?!

  • It’s good to see someone finally doing something to up the ante in the Linux gaming world. I buy AMD because I get more performance for my buck, but AMD drops the ball completely when it comes to Linux. It’s like having a crippled race car you have to boot up into that dreadful windoze.

  • Average fps can be miss leading, or completely hide important metrics. You should be using frame times and looking at shudder and input lag. I guess the 1% and .1% lows would be greatly changed by this.

  • Is this only for newer GPUs or is this available/possible on older GPUs like r5 and r7 series?

    • As with everything else in technology, they want to see whether a new compiler makes a difference for the cutting edge stuff. Eventually, this could be ported or even supported by amdgpu folks with R5, R7 or RX chips. Time will tell.