Every article tag can be clicked to get a list of all articles in that category. Every article tag also has an RSS feed! You can customize an RSS feed too!
We do often include affiliate links to earn us some pennies. See more here.

Updated: It has been merged into Mesa, just before I clicked publish on this—what timing! From what they said, it should be available in Mesa 19.3 and it can be enabled with the "RADV_PERFTEST=aco" environment variable (source).


Original article:

Back in early July, Valve announced their work on a new AMD GPU shader compiler for Mesa named ACO and now they're trying to get it pulled into Mesa directly.

Their main aims with ACO were to get the "best-possible code generation for game shaders, and fastest-possible compilation speed" and to replace the currently used shader compiler from the massive LLVM project. It has certainly seemed promising, improving both shader compile time resulting in less stuttering and so helping to improve overall FPS and smoothness in Linux games when played on supported AMD GPUs.


Image: Valve

Just this week, a merge request was opened to get ACO into Mesa officially and so far the reception does seem quite positive. It's not in yet though and it may need more work doing and adjustments before it's actually accepted. It's likely far too late for Mesa 19.2 which is due to release very soon, so hopefully Mesa 19.3 currently due towards the end of the year will see it.

You can see Valve's original announcement with more details about ACO here, although with the new Steam display view for news and events it doesn't load for me so use the Wayback Machine if you have the same issue.

To see a little more discussion about it, there's people testing it in our forum.

Article taken from GamingOnLinux.com.
30 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
32 comments
Page: 1/2»
  Go to:

Liam Dawe Sep 19, 2019
Updated: It has been merged into Mesa!
x_wing Sep 19, 2019
Yay! ACO really improves by a lot the frame time on Serious Sam for me (or to be more precise, frame times becomes constant). Good to see that we will have this improvement on 19.3
sr_ls_boy Sep 19, 2019
Is it turned on by default?
x_wing Sep 19, 2019
Is it turned on by default?

Nope

The ACO back-end with RADV isn't enabled by default at this time but requires setting the RADV_PERFTEST=aco environment variable to activate. Having this mainline is great news for encouraging more testing and feedback. We'll be running some fresh ACO benchmarks shortly for providing the latest Radeon Vulkan performance numbers for Linux gaming.
4 Comments


Last edited by x_wing on 19 September 2019 at 11:48 am UTC
fagnerln Sep 19, 2019
What is [FS - CS - VS]?

I suppose that FS is fsync, but I don't know about the others
sr_ls_boy Sep 19, 2019
Is it turned on by default?

Nope

The ACO back-end with RADV isn't enabled by default at this time but requires setting the RADV_PERFTEST=aco environment variable to activate. Having this mainline is great news for encouraging more testing and feedback. We'll be running some fresh ACO benchmarks shortly for providing the latest Radeon Vulkan performance numbers for Linux gaming.
4 Comments

Yeah, I just saw that at phoronix. I also read that there are some pull requests for nir that are needed which make the master branch worthwhile to compile. Until they get pulled, stick with the aco git repository.
YoRHa-2B Sep 19, 2019
What is [FS - CS - VS]?

I suppose that FS is fsync, but I don't know about the others
FS = Fragment shaders
CS = Compute shaders
VS = Vertex shaders
sr_ls_boy Sep 19, 2019
What is [FS - CS - VS]?

I suppose that FS is fsync, but I don't know about the others

Fragment Shader, Vertext Shader and Compute Shader.
torbido Sep 19, 2019
It only works with Steam games, right?
x_wing Sep 19, 2019
It only works with Steam games, right?

Works with anything that runs on radv (i.e. any vulkan application)
torbido Sep 19, 2019
It only works with Steam games, right?

Works with anything that runs on radv (i.e. any vulkan application)

The shaders are available to be downloaded from Steam. How is it available for non Steam games?!
fagnerln Sep 19, 2019
What is [FS - CS - VS]?

I suppose that FS is fsync, but I don't know about the others
FS = Fragment shaders
CS = Compute shaders
VS = Vertex shaders

What is [FS - CS - VS]?

I suppose that FS is fsync, but I don't know about the others

Fragment Shader, Vertext Shader and Compute Shader.

Thank you both

Well I missed it... :P
Shmerl Sep 19, 2019
Nice progress! Some clarification from ACO developers about upstreaming and usage of their development Git repos:

This github repo will include some optimizations that haven't yet been upstreamed for a while.

The contents of the aco-navi branch is not upstreamed, so you will need it to test ACO with Navi.


Last edited by Shmerl on 19 September 2019 at 2:02 pm UTC
Shmerl Sep 19, 2019
The shaders are available to be downloaded from Steam. How is it available for non Steam games?!

Shaders come with games, Steam probably only provides cached versions of compiled shaders for some games that have too much stutter on startup without the cache. I.e. Steam has nothing to do with the concept of shaders themselves.

https://en.wikipedia.org/wiki/Shader


Last edited by Shmerl on 19 September 2019 at 2:05 pm UTC
torbido Sep 19, 2019
The shaders are available to be downloaded from Steam. How is it available for non Steam games?!

Shaders come with games, Steam probably only provides cached versions of compiled shaders for some games that have too much stutter on startup without the cache. I.e. Steam has nothing to do with the concept of shaders themselves.

https://en.wikipedia.org/wiki/Shader

I don't think that it will provide any noticeable results with non Steam games. Correct me if I am wrong.


Last edited by torbido on 19 September 2019 at 2:54 pm UTC
torbido Sep 19, 2019
The shaders are available to be downloaded from Steam. How is it available for non Steam games?!

Shaders come with games, Steam probably only provides cached versions of compiled shaders for some games that have too much stutter on startup without the cache. I.e. Steam has nothing to do with the concept of shaders themselves.

https://en.wikipedia.org/wiki/Shader

I don't think that it will provide any noticeable results with non Steam games. Correct me if I am wrong.

Try it, it makes a real difference when compiling shaders.

I use RadeonSI GPU, it is not available yet for me to use.
Shmerl Sep 19, 2019
I don't think that it will provide any noticeable results with non Steam games. Correct me if I am wrong.

It makes a difference for Vulkan games. Nothing to do with Steam specifically.
torbido Sep 19, 2019
I don't think that it will provide any noticeable results with non Steam games. Correct me if I am wrong.

It makes a difference for Vulkan games. Nothing to do with Steam specifically.
Is there any review or an article to backup your words?
kuhpunkt Sep 19, 2019
I don't think that it will provide any noticeable results with non Steam games. Correct me if I am wrong.

It makes a difference for Vulkan games. Nothing to do with Steam specifically.
Is there any review or an article to backup your words?

Why would he? It's a DRIVER improvement.
Shmerl Sep 19, 2019
Is there any review or an article to backup your words?

That's what it is. A shader compiler for the Vulkan driver (radv). I.e. why do you assume it's something to do with Steam (service)? If you think so, you should have a source for such assumption, not the other way around.


Last edited by Shmerl on 19 September 2019 at 5:24 pm UTC
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.