Description

Details

Mesa (git) with Valve's ACO shader compiler, also built with LTO and LLVM (git)

ACO Details

ACO testing instructions

daniel-schuermann/mesa

Project forked from gloriouseggroll/mesa-git and quickly modified to use an ACO-patched Mesa source instead

Information

Provides an alternate Mesa shader compiler (named ACO) with notably improved shader compile times (compared to the default LLVM shader compiler)

Currently only supports RADV (so AMD GPUs that support Vulkan)

Can benefit native Vulkan games, and games ran under Wine via DXVK or D9VK

Improvements:

Notably improves shader compile times and overall experience with Guild Wars 2 and D9VK

Seemingly slightly improves average FPS with FFXIV and DXVK

Updates

This repo will likely receive updates at random periods until I either lose interest, someone else maintains a repo better, or ACO is implemented upstream

If an exciting commit is pushed and you want an update, feel free to contact me

Installation Instructions

Install

Add this repo's GPG key:

sudo rpm --import 'https://copr-be.cloud.fedoraproject.org/results/espionage724/mesa-git-acotest/pubkey.gpg'

Add both this repo and gloriouseggroll/llvm-git:

sudo -e '/etc/yum.repos.d/espionage724-mesa-git-acotest.repo'

[espionage724-mesa-git-acotest] name = espionage724-mesa-git-acotest baseurl = https://copr-be.cloud.fedoraproject.org/results/espionage724/mesa-git-acotest/fedora-$releasever-$basearch/ type = rpm-md skip_if_unavailable = True gpgcheck = 1 gpgkey = https://copr-be.cloud.fedoraproject.org/results/espionage724/mesa-git-acotest/pubkey.gpg repo_gpgcheck = 0 enabled = 1 enabled_metadata = 1 priority = 1 [espionage724-mesa-git-acotest-i386] name = espionage724-mesa-git-acotest-i386 baseurl = https://copr-be.cloud.fedoraproject.org/results/espionage724/mesa-git-acotest/fedora-$releasever-i386/ type = rpm-md skip_if_unavailable = True gpgcheck = 1 gpgkey = https://copr-be.cloud.fedoraproject.org/results/espionage724/mesa-git-acotest/pubkey.gpg repo_gpgcheck = 0 enabled = 1 enabled_metadata = 1 priority = 1 [gloriouseggroll-llvm-git] name = gloriouseggroll-llvm-git baseurl = https://copr-be.cloud.fedoraproject.org/results/gloriouseggroll/llvm-git/fedora-$releasever-$basearch/ type = rpm-md skip_if_unavailable = True gpgcheck = 1 gpgkey = https://copr-be.cloud.fedoraproject.org/results/gloriouseggroll/llvm-git/pubkey.gpg repo_gpgcheck = 0 enabled = 1 enabled_metadata = 1 [gloriouseggroll-llvm-git-i386] name = gloriouseggroll-llvm-git-i386 baseurl = https://copr-be.cloud.fedoraproject.org/results/gloriouseggroll/llvm-git/fedora-$releasever-i386/ type = rpm-md skip_if_unavailable = True gpgcheck = 1 gpgkey = https://copr-be.cloud.fedoraproject.org/results/gloriouseggroll/llvm-git/pubkey.gpg repo_gpgcheck = 0 enabled = 1 enabled_metadata = 1

If using GNOME on Wayland at all, see gloriouseggroll/mutter and add it as well, or alternatively only use Xorg and disable Wayland being used on the log-in screen/GDM

Update Mesa packages:

sudo dnf update

Verifying

Look in Terminal for this line after starting anything that uses Vulkan:

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

Look at vulkaninfo for mention of ACO:

vulkaninfo | grep 'AMD RADV/ACO'

Use DXVK's HUD environment variable (for both DXVK and D9VK) to check for mention of ACO:

DXVK_HUD='full'

Troubleshooting

Temporarily disable ACO and use LLVM with an environment variable:

RADV_PERFTEST=llvm

Uninstall

Remove this repo's GPG key:

sudo rpm -e 'gpg-pubkey-716644b8-5d1d6307'

Remove this repo:

sudo rm -v '/etc/yum.repos.d/espionage724-mesa-git-acotest.repo'

Switch this repo's installed Mesa-related packages to either standard Fedora packages or another repo's:

sudo dnf distro-sync

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

Release Architectures Repo Download

* Total number of packages downloaded in the last seven days.

External Repository List

The following repositories are accessible during builds