Join us on our own very special Reddit on /r/Linuxers.
Testing new Mesa ACO shader compiler for AMD
Page: «8/11»
  Go to:
Linuxwarper 23 Jul, 2019
Yes sir. I will repost soon :) Deleted initial post because I want to redo whole process again.
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



PREY demo (2017)



THE TALOS PRINCIPLE



Shmerl 8 years 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 8 years 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 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 8 years 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 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:



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

radv/llvm:


radv/aco
Shmerl 8 years 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.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: Liberapay or PayPal.

This ensures all of our main content remains totally free for everyone with no article paywalls. We also don't have tons of adverts, there's also no tracking and we respect your privacy. Just 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

Or login with...
Sign in with Steam Sign in with Twitter Sign in with Google
Social logins require cookies to stay logged in.