Confused on Steam Play and Proton? Be sure to check out our guide.
Testing new Mesa ACO shader compiler for AMD
Page: «8/11»
  Go to:
Shmerl 22 Jul, 2019
Yes, amdvlk has improved. but that's just for framerate, I didn't measure stutter levels vs radv/aco.
massatt212 23 Jul, 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 23 Jul, 2019
Quoting: LinuxwarperMy 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 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 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 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 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.
While you're here, please consider supporting GamingOnLinux on:

Patreon, Liberapay or PayPal Donation.

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.