At this point, there was no action for more than a week, so i decided to fix the issue myself.
Note that I'm using arch, so some package names can differ depending on your distro.
Open the console and clone into the mesa repository using git (install git if you don't have it):
Bash:
git clone https://gitlab.freedesktop.org/mesa/mesa.git
This will create a new directory in ~ folder (your home folder). Go in there with:
Now, you need to get the changes with the code 31042 that fix the bug. This is how you do it:
Bash:
git fetch origin merge-requests/31042/head
This might not be necessary, but just in case it helps, change the branch to something other than main, like deadlock-branch:
Bash:
git checkout -b deadlock-branch
Git gave me an error for the next command because my name wasn't set. I've set it to spkry with:
Bash:
git config --global user.name "spkry"
Now, the fetch command put all the changes into the FETCH_HEAD, but now we have to merge it with:
Now, you'll have to compile mesa. This will take some time and CPU power, it took me less than 10 minutes with Ryzen 5600G.
Before that, you need to install some packages that will be necessary to compile. For me these were:
Bash:
paru -Syu rust-bindgen libclc python-yaml clang llvm-libs spirv-llvm-translator
Meson will give you errors and tell you which libraries are missing if you're still missing some. Search on the internet to find out which packages provide those libraries.
Now, these commands will compile mesa into your chosen directory, for simplicity this will be ~/mesa/install. Though the full path must be used, per mesa documentation. Change [username] to your own username, of course.
Bash:
mkdir install
meson setup build/ -Dprefix="/home/[username]/mesa/install"
meson install -C build/
Now, put this into your startup options:
Code:
LD_LIBRARY_PATH="/home/[username]/mesa/install/lib" VK_DRIVER_FILES="/home/[username]/share/vulkan/icd.d/intel_icd.x86_64.json" %command%
Do note that these directories and the name of the icd file depend on your platform, maybe. For me, while mesa documentation says the directory should be lib64, it was lib. Since we all have a problem with intel, then we use the file that's in share/vulkan/icd.d/intel_icd.x86_64.json. I tried intel_hasvk_icd.x86_64.json, but it didn't launch.
Now the game should work, though it did crash for me when using -vulkan renderer, so make sure to use -dx11.
Here's mesa documentation if you want to verify:
docs.mesa3d.org