There's been recent work to include Vulkan support in Mesa for Pi. Here are some hopefully helpful links:
https://www.raspberrypi.org/blog/vulkan-update-merged-to-mesa/
https://blogs.igalia.com/apinheiro/2020/06/v3dv-quick-guide-to-build-and-run-some-demos/
https://www.raspberrypi.org/forums/viewtopic.php?t=277125
Most of the links go over similar steps for compiling, installing, and testing Vulkan and its demos. Some additional notes:
The older posts point to a developer's fork of Mesa. Now that Vulkan has been merged into Mesa, whereever you see a git clone you'll want to make sure that you're pointing to Mesa's repository (
https://gitlab.freedesktop.org/mesa/mesa/)
You'll be able to get Vulkan from the master branch of of the Mesa repository. It doesn't look like it's been tagged to a release yet, so there's likely more work to be done and your mileage may vary.
You can actually have different versions of Mesa installed on your system simultaneously, as long as you put them in different directories. In order to ensure stability of my Pi systems, I do this, so I can test and play around while not worrying about everything else. Though Mesa is pretty self contained so it's not too hard to get things back to normal if you overwrite the original drivers.
If you have compiled Mesa for installation in another directory, then you'll need to add the following line to your launch scripts or your bash profile in order to point programs to your special installation. You do that with the following line:
export VK_ICD_FILENAMES=[YOUR INSTALLATION PATH]/share/vulkan/icd.d/broadcom_icd.armv7l.json
I've found that Raspbian/Raspberry Pi OS (which is what RetroPie is built on) actually uses NVIDIA's Vendor Neutral Dispatch version of Mesa (which uses code from Mesa), and not Mesa's version of Mesa. I have no idea if that will be changing or not, but it at least indicates that there will be more work to do before we see Vulkan drivers as part of Raspbian/Raspberry Pi OS/RetroPie as a default.
I've been playing around with Vulkan and so far it's looking pretty good. I have high hopes that as programs begin to adopt Vulkan we'll be seeing some really awesome performance increases. I have not tried Dolphin though. The only thing I've found regarding Dolphin and Vulkan was someone testing it out on a Jetson Nano, which is a different hardware platform. He did compare Vulkan vs. OpenGL and found that Zelda: Wind Walker ran very well with Vulkan where it was choppy on OpenGL. The post is on Facebook (https://www.facebook.com/groups/retropieofficial/permalink/1387063751494192/).
I created a scriptmodule for my own purposes to automate building / installation of Mesa with Vulkan. I may create a separate post for that.
I hope this info helps out.
- George