Testing new Mesa ACO shader compiler for AMD
Page: «4/5»
  Go to:
Linuxwarper Jul 23, 2019
SPECS:
RX 580 Nitro 4GB
Intel I7 4770k with 8GB memory
Kde Neon 5.16 with 5.0 Kernel
ppa:paulo-miguel-dias/pkppa

ACO will be second screenshot

The Witcher 3
![](https://i.imgur.com/tkbQASd.png)
![](https://i.imgur.com/WrMYLc5.png)

PREY demo (2017)
![](https://i.imgur.com/YhzzlPt.png)
![](https://i.imgur.com/90A1Z4m.png)

THE TALOS PRINCIPLE
![](https://i.imgur.com/suCNRO6.png)
![](https://i.imgur.com/mW5IsnE.png)
![](https://i.imgur.com/9ToD9Pq.png)
![](https://i.imgur.com/QnV83rZ.png)
Shmerl Jul 23, 2019
btw, you can use Mesa Vulkan HUD for framerate and frametimes.

VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay

The more even are frametimes, the better.

DXVK_HUD can also show frametimes. I use something like:

DXVK_HUD=devinfo,version,fps,gpuload,frametimes,memory
Linuxwarper Jul 23, 2019
Thanks. I think with ACO I am getting 1-3 fps improvements. Prey was tweeted to get major performance boost (17%??) but I was running demo so that could be why. Overall I am pleased with what seems to be noticeably less stuttering. As stated earlier, initial tests between ACO and non ACO was ACO stuttering less and game not freezing on frames for second(s).

EDIT: I am certain frame times with ACO is better, as it's probably reason for stutter reduction. Where do I put those DXVK HUD and Mesa Vulkan Overlay parameters? Putting it in games launch options yielded nothing.
Shmerl Jul 23, 2019
Where do I put those DXVK HUD and Mesa Vulkan Overlay parameters? Putting it in games launch options yielded nothing.

I put it in the scripts that start my games (since I use DRM-free games, I don't deal with Steam). Not sure how exactly you set up yours.

For example, for Wine/dxvk use case, let's say game's script (start.sh) contains this:

hud=${hud:-false}  # use HUD

if $hud; then
   export DXVK_HUD=devinfo,version,fps,gpuload,frametimes,memory
fi

...
# Your Wine command that starts the game


Then ./start.sh (that I also associate with .desktop launchers) will run it without HUD.

But running it like this will bring HUD up:

hud=true ./start.sh

For non dxvk cases, I wrote a simple wrapper script like this (covers both OpenGL and Vulkan):

gpu_hud.sh
#!/bin/bash

cores=$(nproc)
cores_str="cpu0"

for ((i = 1; i < $cores; i++)); do
   cores_str="${cores_str}+cpu${i}"
done

#### For OpenGL
export GALLIUM_HUD=".dfps:120,frametime,cpu+GPU-load:100=gpu,${cores_str}:100"

#### For Vulkan:
export VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay

"$@" &
disown -h %+


For example your native game has start.sh which launches it. Then run it like:

gpu_hud.sh ./start.sh

To bring up the HUD. You can use the same variable method with that if you modify the launch script.

Basically, the final process should have appropriate environment variables in the end. If you are using Steam, it has some setting in UI for env variables, but it's a mess I suppose to use them flexibly unlike with scripts you directly control.
Linuxwarper Jul 23, 2019
Thanks, I will come back to that when I run a game through GOG. I looked into DXVK on Github, but the parameters did not do anything for Proton. So I searched further and found out from Proton's FAQ page. The only difference between DXVK own parameter seems to be that for Proton you have to add %command% as well. This will be fun to play around with, thanks!
Shmerl Jul 23, 2019
Thanks, I will come back to that when I run a game through GOG. I looked into DXVK on Github, but the parameters did not do anything for Proton. So I searched further and found out from Proton's FAQ page. The only difference between DXVK own parameter seems to be that for Proton you have to add %command% as well. This will be fun to play around with, thanks!

Even if you run it through Steam - you can simply launch Steam client itself with such script. Children processes inherit environment variables, so they'll propagate to games that Steam sill launch.
lejimster Jul 30, 2019
FYI, the ACO compiler has just had a major update. It can now handle Vertex shaders, Plagman just updated us on twitter:

![

Looking good guys :D
Shmerl Jul 31, 2019
ACO is again ahead for TW3 (built latest master branch):

radv/llvm:
![](https://i.imgur.com/hel1lXD.jpg)

radv/aco
![](https://i.imgur.com/c54kppH.jpg)
Shmerl Aug 1, 2019
I didn't test it, but developers write it's mostly beneficial for lower end hardware. With high end CPU you probably won't notice big gains.
massatt212 Sep 2, 2019
Does anyone know how to get 32bit Mesa ACO Working on Ubuntu 19.04, only 64bit seems to work.
Shmerl Sep 3, 2019
Never tried it. Now after switching to Navi card, I'll wait with ACO testing until it will catch up with support.
Laboratoryo_ni_Neil Mar 22, 2020
Here are some of my benchmarks using ACO. No graphics corruption was observed during benchmarking.

Radeon RX 580 in 2020 - 4K and 1800p gaming benchmarks

Radeon RX 550 in 2020 - 1080p and 900p gaming benchmarks

Last edited by Laboratoryo_ni_Neil on 22 March 2020 at 3:40 am UTC
MayeulC Mar 22, 2020
ACO is again ahead for TW3 (built latest master branch):
Spoiler, click me

radv/llvm:
![](https://i.imgur.com/hel1lXD.jpg)

radv/aco
![](https://i.imgur.com/c54kppH.jpg)

Colors seems to be more saturated with AC0 in these screenshots. Unsure if that's a screenshot artifact? (I also wanted to compare quality, but jpeg makes that difficult, and there seems to be TAA or motion blur at play?)
Shmerl Mar 22, 2020
I don't notice any color difference in the actual tests.

Last edited by Shmerl on 22 March 2020 at 8:01 pm UTC
Laboratoryo_ni_Neil Mar 26, 2020
Anyone here using Radeon Navi series? How is the stability on Mesa 19.3.5 + ACO?
Shmerl Mar 26, 2020
Use 20.0.2 (or Mesa master for games specifically). I don't recommend 19.3.5 for gaming. ACO isn't stable there yet.

Last edited by Shmerl on 26 March 2020 at 4:07 am UTC
Avehicle7887 Mar 27, 2020
Anyone here using Radeon Navi series? How is the stability on Mesa 19.3.5 + ACO?

5500XT + Mesa 20.0.x here, no issues with ACO (and the card in general).
crt0mega Mar 28, 2020
I've only tested it on Vega and older cards but I'm quite impressed.
Vinouch Sep 3, 2020
With aco enabled on assassin's creed origins, with RX 5600 XT latest proprietary driver, I have color artifacts : sometimes, ground and vegetation switch color as a flickering effect. If some one tell me how to record screen in game, I will share it.
tuxintuxedo Sep 3, 2020
with RX 5600 XT latest proprietary driver
Just curious. Why don't you use Mesa? Does it also have the same problem?
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!
Login / Register