Aco shader compiler doesnt seem to work. AMD 5700 XT

And I don’t know why that is.

In my .profile I have:

export RADV_PERFTEST=aco

When I run

lspci -k | grep -EA3 'VGA|3D|Display

I get:

0b:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] (rev c1)
	Subsystem: Tul Corporation / PowerColor Device 2398
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu

So far it all seems good. But seeing as I had massive shader compilation times with Overwatch and stutters during gameplay, it seems aco is not in effect.

Here is a shot of the full dxvk hud, there I was expecting it to say LLVM or ACO, but I am not seeing either of those messages. Is there anything else that I might be missing? The only thing that is different from what I did back on Manjaro is that I have set the environment variable in .profile. On my old installation I set the command in /etc/environment.

image

If I’m not mistaken, ACO is already the default now, so you don’t have to set RADV_PERFTEST=aco anymore.

I think it’s best to report your issue directly to Mesa:

Just checked and mesa will be enabled by default with 20.2.

I currently have 20.1.

My system is missing something, but I have yet to figure out why ACO isn’t working.

1 Like

Ah okay, thanks. I’m using mesa-git that’s why I got lost with the features…

Are you using mesa’s vulkan or AMDVLK?

I use “RADV_PERFEST=aco” in a file called “.pam_environment” insode my home folder. Don’t know if that makes a difference.

Also maybe you need to activate ACO inside Overwatch Lutris settings.

If you have steam, you can try to start it from console. There you should get a warning, that the ACO compiler is used (experimental). It should say this somewhere:

WARNING: Experimental compiler backend enabled. Here be dragons! Incorrect rendering, GPU hangs and/or resets are likely

What is the difference?

I did just found out that I do not have the following packages installed:

vulkan-radeon
lib32-vulkan-radeon

I prefer and want to use the opensource stuff. So AMDVLK is the closed source driver or?

Edit: I also checked the steam logs indeed, together with the aco launch command but no dragons message.

I have the same and it works for me.

Fixed! I indeed needed the following packages.

vulkan-radeon
lib32-vulkan-radeon

I remember having those in my install script but removed it since it came by default with my other os installation. But this is arch so I need to add those back in now.

image

2 Likes

So it makes sure to set the RADV Vulkan driver as a standard. This should work, else read through this Link.

export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json

Edit:

Nice. Have fun!

For Overwatch, for me, it was a good idea to also install gamemode (starts automatically when starting a game inside Lutris after a reboot).

1 Like

Both are open source. vulkan-radeon is Mesa’s work, and AMDVLK is AMD’s implementation.

Thanks all for thinking with me. :slight_smile:

1 Like

Since this thread accidentally answered a lot of my questions to AMD users for gaming guide, i still have one:

Which one generally is more performant in games?
I assume AMDVLK?

I don’t know :slight_smile:
I’m using mesa-git with my 5700, so far, no major issues.

EDIT: more info here:
https://wiki.archlinux.org/index.php/AMDGPU and https://github.com/GPUOpen-Drivers/AMDVLK
Mesa issue tracker: https://gitlab.freedesktop.org/mesa/mesa/-/issues

This is from march, so it may already be better for any driver.

The Reddit link I shared earlier in this thread gives you the ability to try amdvlk and RADV(your Mesa Vulkan) drivers. That way you can see if one works better in a certain game than the other.

From my experience RADV works better.

Edit: Also, please correct me of I’m wrong, ACO works only with RADV.

By the way, how are you showing the GPU informations inside your uploaded pictures?

With Lutris you can go to the game’s properties and then:

Screenshot from 2020-08-14 11-10-34

Or with Steam “DXVK_HUD=full %command%”.

2 Likes