Testing new Mesa ACO shader compiler for AMD
Page: «3/5»
  Go to:
Linuxwarper Jul 13, 2019
As part of testing the ACO shader compiler from Valve, I'm going to benchmark games prior to adding the Ubuntu PPA. But Talos Principle frustrates me a great deal. Can someone PLEASE tell me how to toggle Vulkan on in the game? I've followed instructions, carefully I'd say, from a pinned thread on game's official discussion forum on Steam. The results end up with 86 FPS for OpenGL and about 75 for Vulkan. I could not find a way to verify Vulkan was running through game settings (or be able to toggle between two APIs). All I could do was search for Vulkan in games Talo.ini file, which includes a vulkan variable when you follow the instructions I mentioned. But 75 for Vulkan and 86 for OpenGL - what's going on??
Shmerl Jul 14, 2019
thx good to know !

Updated my script with workaround for Meson bug, and it can now also handle customizing Mesa repo to build both regular Mesa and Mesa-aco using the same script. See example in the inline documentation.
Shmerl Jul 14, 2019
Testing X4: Foundations, using Mesa-aco build with llvm9.

llvm:

![](https://i.imgur.com/bnUTIk9.jpg)

aco:

![](https://i.imgur.com/AYCgMvN.jpg)

ACO performs worse actually.
x_wing Jul 14, 2019
As part of testing the ACO shader compiler from Valve, I'm going to benchmark games prior to adding the Ubuntu PPA. But Talos Principle frustrates me a great deal. Can someone PLEASE tell me how to toggle Vulkan on in the game? I've followed instructions, carefully I'd say, from a pinned thread on game's official discussion forum on Steam. The results end up with 86 FPS for OpenGL and about 75 for Vulkan. I could not find a way to verify Vulkan was running through game settings (or be able to toggle between two APIs). All I could do was search for Vulkan in games Talo.ini file, which includes a vulkan variable when you follow the instructions I mentioned. But 75 for Vulkan and 86 for OpenGL - what's going on??

I think that in the last update of the engine they probably removed the option to switch the graphic api (i.e. will always use vulkan). I'm 100% sure of this for Serious Sam (I definitely made the question in their forums).

Regarding the performance, I remember that TP always had better fps with OGL
Shmerl Jul 14, 2019
If you find the time, could you by chance adopt the script so that the output wents to /opt/mesa-aco directly? It always lands in $HOME/mnt/vmshare/opt/mesa-aco/opt/mesa-aco . I tried adopting it myself but then it always lands in /opt/mesa-aco/opt/mesa-aco

I can take a look how to do it. The reason I put it in $HOME/mnt/vmshare in general, is that I like to build it in VM, that has a share with the host Linux (both through $HOME/mnt/vmshare). So I simply use another small script to publish the result on the host from that to /opt/mesa-master proper.

However, it should be possible to override the destination with the env var. Let me add that.
Shmerl Jul 14, 2019
If you find the time, could you by chance adopt the script so that the output wents to /opt/mesa-aco directly?

I updated the script.

Try doing:

dest_dir=/ mesa_debian_build.sh

I don't recommend such method though, since it will try to write directly to /opt/mesa-<branch>/* and delete stuff there as well. It's preferable to build in some local isolation, and deploy as a separate step.
Shmerl Jul 16, 2019
Supraland

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

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

Both are pretty bad, due to Unreal Engine not using Vulkan effectively and frametimes being completely messed up.
Ehvis Jul 16, 2019
Both are pretty bad, due to Unreal Engine not using Vulkan effectively and frametimes being completely messed up.

The biggest part seems to be Supraland itself. The erratic frame timings show that it's clearly doing something it's not supposed to. Nothing that can be fixed by the shader compiler.
Shmerl Jul 17, 2019
Heh, compiling llvm itslef is a major pain, even on 3900X I assume. I just use the nightly snapshot form their repo: http://apt.llvm.org/unstable/pool/main/l/llvm-toolchain-snapshot/
sr_ls_boy Jul 17, 2019
Since we are discussing llvm, I'm looking for a way to add a suffix to the name of the targets.
For example, clang would be renamed clang-32. To do this with autotools you would add the
option, --program-suffix=-32. But I haven't figured out how to do this with cmake.
Shmerl Jul 17, 2019
Since we are discussing llvm, I'm looking for a way to add a suffix to the name of the targets.
For example, clang would be renamed clang-32. To do this with autotools you would add the
option, --program-suffix=-32. But I haven't figured out how to do this with cmake.

Why do you need clang though? For Mesa you only need libllvm.

off-topic, but anyone tried AMDVLK from github recently?? with the latest pull I got a 5 fps increment in Shadow of the TR which is a lot considering the total average fps is 45

I haven't used it in a while, since radv became very good. But I can try building it again and compare with aco.
Shmerl Jul 19, 2019
Interesting results. Using aco, vs Mesa master vs latest amdvlk in TW3 with dxvk master, aco was actually behind this time, but slightly.

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

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

amdvlk:
![](https://i.imgur.com/51PmX3J.jpg)

That's just framerates, I didn't really analyze stutter.
Shmerl Jul 21, 2019
Just tested Mesa-aco with Star Citizen (see the thread. It works, but the game crashes during quantum flight. Does it work for anyone?
sr_ls_boy Jul 21, 2019
How did you get Star Citizen? Did you pay for it with no contracts?
Shmerl Jul 21, 2019
How did you get Star Citizen? Did you pay for it with no contracts?

Just pledged for the starter Aurora package.
lod Jul 22, 2019
It runs shamelessly brilliant now, I am totally intrigued. After the initial very low shader stutters, the game runs like a charm. FPS is still borked by the game itself, lacking optimization but that is for most windows users as well.

https://www.youtube.com/watch?v=zw7FQNMsbxw
Is it just as slow in Windows?
Shmerl Jul 22, 2019
Yes, amdvlk has improved. but that's just for framerate, I didn't measure stutter levels vs radv/aco.
massatt212 Jul 23, 2019
you guys should try AMDGPU pro driver 19.20, shaders compile so fast but some games has graphical bugs like unreal engine 4 games, its almost stutter free
Shmerl Jul 23, 2019
My small tests:

TALOS Principle: 75.6 - 76.4(ACO)
The Witcher 3: 77 - 82 (ACO)
PREY (demo) : 69 - 73 (ACO)

General note: Games stuttered alot without ACO when running for first time or when they had not been played for a while. To a point games would freeze a frame briefly. With ACO the stuttering was noticeably less to say the least.

Please post hardware specs and screenshots with HUDs for better visibility. Thanks!
Linuxwarper Jul 23, 2019
Yes sir. I will repost soon :) Deleted initial post because I want to redo whole process again.
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