Hello there!
I was looking into giving a try to the new mesa-aco from Valve. For those who don’t know it, is a fork of mesa with some improvements on AMD hardware regarding shader caching and in some cases even the framerate.
I actually build it myself inside a toolbox, which means that my Fedora Workstation is still clean from all the build dependencies and it still uses the regular and stable mesa that comes with it for the rest of the system. This should work on both Workstation and Silverblue.
- Clone the repository:
git clone https://github.com/daniel-schuermann/mesa.git ~/mesa-aco
- Create a Toolbox, I actually did one just for mesa-aco building with
toolbox create -c mesa-aco-toolbox
- Enter the Toolbox with
toolbox enter -c mesa-aco-toolbox
- Get all the build dependencies inside the toolbox:
sudo dnf install meson gcc g++ libdrm-devel zlib-devel expat-devel llvm-devel elfutils-libelf-devel wayland-devel wayland-protocols-devel libxcb-devel libX11-devel libxshmfence-devel libXrandr-devel gettext-devel glslang-devel bison flex
- Move to the mesa-aco dir
cd ~/mesa-aco
- Build it:
meson -Dbuildtype=release -Db_ndebug=true -Dplatforms=x11,wayland,drm,surfaceless -Ddri-drivers= -Dgallium-drivers= -Dvulkan-drivers=amd -Ddri3=true -Degl=false -Dgallium-nine=false -Dglvnd=false -Dglx=disabled -Dllvm=true -Dvulkan-overlay-layer=true -Dtools= -Dlmsensors=false build
ninja -C build
To use it on any program:
VK_ICD_FILENAMES=~/mesa-aco/build/src/amd/vulkan/dev_icd.json program
To use it on a Steam game, go into the launch options of the game on it’s properties and put VK_ICD_FILENAMES=~/mesa-aco/build/src/amd/vulkan/dev_icd.json %command%
This instructions are based on this Reddit Post. I just added the toolbox layer (Which was pretty easy) and figured out the build dependencies (This is what actually took me time).
Hoping this is usefull for any Fedora gamer out there!
In this way you can use it without messing around with your system native mesa version and without all those build packages around