In case you've missed what's been going on, the progress on proper Vulkan support for the Raspberry Pi 4 has been going really well. So well in fact, that it's been merged into the upstream Mesa project and so it's all a bit more official.
Writing in a guest post on the official Raspberry Pi blog, Igalia's Iago Toral, who has been largely responsible for hacking away on the v3dv driver gave an update on the progress. They mentioned that earlier this week, the driver became part of Mesa and got merged in which brings with it numerous advantages for anyone wanting to try it, or to help work on it like these:
- Easier to find: now anyone willing to test the driver just needs to go to the official Mesa repository
- Bug tracking: issues/bugs can now be filed on the official Mesa repository bug tracker. If the problem affects other parts of the project, it will be easier for us to involve other Mesa developers.
- Releasing: v3dv will be included in all Mesa releases. In due course, you will no longer need to go to an external repository to obtain the driver, as it will be included in the Mesa package for your distribution.
- Maintenance: v3dv will be included in the Mesa Continuous Integration system, so every merge request will be tested to ensure that our driver still builds. More effort can go to new features and bug fixes rather than just keeping up with upstream changes.
As for how it's actually running, it's now passing over 100,000 tests in the Khronos Conformance Test Suite for Vulkan 1.0. They've gone from supporting a subset of the Vulkan API to supporting the full Vulkan 1.0 API which is a pretty amazing milestone for the little board.
Plenty more still to be done, and as they said, passing tests is one thing but real-world use is another. I've no doubt people will find many ways to break it while it's still in development. That's part of the point of being official in Mesa now though, makes it vastly easy to try it. As a proud owner of a Raspberry Pi 4, it's going to be fun to see it in action with Vulkan now.