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 
vulkaninfofor 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 downloaded packages.
External Repository List
The following repositories are accessible during builds
- https://copr-be.cloud.fedoraproject.org/results/gloriouseggroll/llvm-git/fedora-30-x86_64/
 - https://copr-be.cloud.fedoraproject.org/results/gloriouseggroll/llvm-git/fedora-30-i386/
 - https://copr-be.cloud.fedoraproject.org/results/gloriouseggroll/mesa-git/fedora-30-x86_64/
 - https://copr-be.cloud.fedoraproject.org/results/gloriouseggroll/mesa-git/fedora-30-i386/