Vulkan update: version 1.1 conformance for Raspberry Pi 4

Igaliaā€™s Iago Toral is back with another Vulkan update.

It has been almost a year since we announced conformance for Vulkan 1.0 on Raspberry Pi 4 devices. Since then, we have been working on improving driver performance, expanding the feature set, and advancing towards Vulkan 1.1 support.

Today we are excited to announce that Khronos has just granted Vulkan 1.1 conformance to Raspberry Pi 4.

All the required driver changes for Vulkan 1.1 have already been merged in the upstream v3dv Mesa driver and will hopefully be available soon in Raspberry Pi OS.

Besides Vulkan 1.1 support, we have also implemented support for geometry shaders (which we supported only on the OpenGL ES driver) as well as more optional Vulkan features and extensions. You can see the list of supported
extensions here.

We have also been improving our shader compiler to produce better code in many scenarios, which should provide significant performance improvements for games and applications with expensive shading (for both Vulkan
and OpenGL drivers), such as those produced by Unreal Engine 4:

It has been great to validate the Vulkan driver with Unreal Engine 4 code and this was also very useful to drive our optimization work on the shader compiler:

Performance improvements (in %) across various Vulkan games and demos

Before you get too excited about Unreal Engine 4 games on Raspberry Pi 4, I should note that UE4 is quite expensive and performance is still not good enough for gameplay.

Finally, we also improved support for RenderDoc and GFXReconstruct, which are fantastic tools for Vulkan developers:

We are very excited to continue improving Vulkan support for Raspberry Pi devices in the future, so stay tuned for future news!

20 comments
Jump to the comment form

Avatar

Very nice! I can’t wait to see OpenCL support on the RaspberryPi 4

Reply to Troels

Avatar

I agree wholeheartedly! Having stable, fast OpenCL support would unlock OpenCV and deep learning on this fantastic platform. I sincerely hope this happens soon! šŸ™

Reply to Ani Balasubramaniam

Avatar

Can you tell me when? Peoples already installed Vulkan 1.1 Driver in 2020.

Reply to Supra

Avatar

From Vulkan conformance page:
“OS: Raspbian Linux 5.10.63-v8 (aarch64)”
Next Raspberry Pi OS 64 bits official support spoiled ? :D
More seriously: will it be available for 32 bits releases as well ?
Congratulations to Igalia and thanks to RPT/RPF for supporting this another step forward.

Reply to Laurent

Avatar

RasPiOS exists in arm64 flavor for quite a good while – well over a year now.

Reply to Anton

Avatar

But how status is aceleration video codec HW in 64bits compared with 32bits armhf?

Reply to carlos

Avatar

Yes, but it is not complete … and many third party libraries/frameworks do not compile on arm64. Especially the ones which will benefit from 64 bit features. Which looks a little bit strange in my eyes.

Eben shall release the Pi 5 with 64 bit data bus soon. This may nudge them to port their stuff. Hmm, a 128 bit bus will feed neon and the GPU faster ;)

Reply to crumble

Avatar

Nice catch, I didn’t notice that 64bit conformance.
Time to go back to 64bit VulkanSceneGraph.

Reply to Gavin McIntosh

Avatar

Vulkan driver should also being working on 32-bit. 64-bit was just the one used for the submission, as it is the more used now. Sending two submissions seemed too much.

Reply to Alejandro PiƱeiro

Avatar
Avatar

How does one build an Unreal project for the RPi4! ? :D
With build UE to run natively on the Pi?
Or is there export/build support on the PC version?

Reply to Fredrik Sundqvist

Avatar

Having had a little foray into renderers and shaders myself, the people who make this work have my admiration.

Reply to Anders

Avatar

Forgive I see people and this I have been able to verify the images cannot be enlarged and the FPS or maximized
screen cannot be seen because the image is very small and it cannot be distinguished clearly
could this be better in the future?
Thank you.

Reply to carlos

Avatar

Yeah, the size of the images is not great to appreciate these details. The multiview picture shows 53 fps and the geometry shader picture 84 fps.

Reply to Iago Toral

Avatar

I was wondering if the vulkan 1.1 comes with Bullseye version sooner?

Reply to Supra

Avatar

Great work!

Reply to Reza

Avatar

This is great news for Godot 4 support on the Raspberry Pi 4. I’ve tried Godot 3.3 around a year ago, and it works, even if it is slow. That said, you could technically develop a whole video game using Godot on a Pi.

Reply to ConfuSomu

Avatar

How does one build an Unreal project for the RPi4! ? :D
With build UE to run natively on the Pi?

Reply to apkworlds

Avatar

Will it allow Blender 2.9 to run on RP4? Can’t wait for it!

Reply to Shawn

Leave a Comment