Patreon Logo Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal Logo PayPal. You can also buy games using our partner links for GOG and Humble Store.
Title: Testing new Mesa ACO shader compiler for AMD
Page: 4/5
  Go to:
Linuxwarper 23 Jul 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
External Media: You need to be logged in to view this.

External Media: You need to be logged in to view this.


PREY demo (2017)
External Media: You need to be logged in to view this.

External Media: You need to be logged in to view this.


THE TALOS PRINCIPLE
External Media: You need to be logged in to view this.

External Media: You need to be logged in to view this.

External Media: You need to be logged in to view this.

External Media: You need to be logged in to view this.
Shmerl 23 Jul 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 23 Jul 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 23 Jul 2019
Quoting: LinuxwarperWhere 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 23 Jul 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](https://github.com/ValveSoftware/Proton/wiki/Proton-FAQ#how-to-enable-dxvk-hud-with-proton) 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 23 Jul 2019
Quoting: LinuxwarperThanks, 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](https://github.com/ValveSoftware/Proton/wiki/Proton-FAQ#how-to-enable-dxvk-hud-with-proton) 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 30 Jul 2019
FYI, the ACO compiler has just had a major update. It can now handle Vertex shaders, Plagman just updated us on twitter:

External Media: You need to be logged in to view this.


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

radv/llvm:
External Media: You need to be logged in to view this.


radv/aco
External Media: You need to be logged in to view this.
Shmerl 1 Aug 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 2 Sep 2019
Does anyone know how to get 32bit Mesa ACO Working on Ubuntu 19.04, only 64bit seems to work.
Shmerl 3 Sep 2019
Never tried it. Now after switching to Navi card, I'll wait with ACO testing until it will catch up with support.
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](https://www.youtube.com/watch?v=fNEk2pqH01g)

[Radeon RX 550 in 2020 - 1080p and 900p gaming benchmarks](https://m.youtube.com/watch?v=2OEFEKgrDB0)

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

radv/llvm:
External Media: You need to be logged in to view this.


radv/aco
External Media: You need to be logged in to view this.
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 22 Mar 2020
I don't notice any color difference in the actual tests.

Last edited by Shmerl on 22 Mar 2020 at 8:01 pm UTC
Anyone here using Radeon Navi series? How is the stability on Mesa 19.3.5 + ACO?
Shmerl 26 Mar 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 Mar 2020 at 4:07 am UTC
Avehicle7887 27 Mar 2020
Quoting: Laboratoryo_ni_NeilAnyone 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 28 Mar 2020
I've only tested it on Vega and older cards but I'm quite impressed.
Vinouch 3 Sep 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 3 Sep 2020
Quoting: Vinouchwith 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 Logo Patreon. Plain Donations: PayPal Logo 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