On my PC, Mesa's introduction of Lavapipe has caused my games to stop using my AMD GPU and start using the CPU. This has affected other users as well.
In the meantime, I have been just doing chmod 000 /usr/share/vulkan/icd.d/lvp_icd*
. That works, but it's getting annoying to have to do this after every package upgrade, and this is exacerbated by me being on a distro's development branch (Ubuntu 21.04).
The linked page mentions other users using VK_ICD_FILENAMES
or VULKAN_DEVICE_INDEX
. I did not like that solution because it is fragile and will break either across 32/64 bit or when device change for whatever reason.
My solution just moves Lavapipe's ICD to the bottom of the list when it comes to alphabetical ordering by prepending zzzzz_
. I took this zzz
idea from APT/dpkg/Minecraft Forge. I am guessing that the loader is iterating in order and picking the first one that works, and that might be why I never experienced this problem on an Intel integrated GPU. I haven't tested this change yet (I had trouble building), but theoretically I don't see why it wouldn't work. This fix is better that either of the workarounds because this will make sure Mesa works out-of-the-box for all users and not require them to troubleshoot