Raspberry Pi 4 Vulkan Source Code Released, More Complex Vulkan Demos Supported

The Raspberry Pi Foundation announced they had started working on Vulkan support for Raspberry Pi 4 in January with the initial implementation being able to render the “hello world of graphics”, i.e. a basic triangle.

Progress are been made with the Mesa 3D library been able to render more complex demos, specifically Sascha Willems Vulkan demos.

Multi-part scene Rendering on Raspberry Pi 4 – Click to Enlarge

That’s encouraging, but the current Vulkan implementation is still not usable to play games on Raspberry Pi, and some of Sascha’s Vulkan demos are still not working at the time of writing. Yet the list of working demos is fairly long:

  • distancefieldfonts
  • descriptorsets
  • dynamicuniformbuffer
  • gears
  • gltfscene
  • imgui
  • indirectdraw
  • occlusionquery
  • parallaxmapping
  • pbrbasic, pbribl, pbrtexture
  • pushconstants
  • scenerendering
  • shadowmapping,  shadowmappingcascade
  • specializationconstants
  • sphericalenvmapping
  • stencilbuffer
  • textoverlay
  • texture, texture3d, texturecubemap
  • triangle
  • vulkanscene

The other good news is that Igalia and the Raspberry Pi Foundation have now released the source code of v3dv fork of Mesa library on Freedesktop Gitlab so other developers can try it out. Instructions to build v3dv and demos are posted on Igalia blog.

Going forward, the goal is to implement the basic Vulkan 1.0 feature set including compute shaders, input attachments, texel buffers, storage images, pipeline caches, multisampling and others. Once features are all implemented they’ll focus on CTS conformance testing as they did for OpenGL ES 3.1 and at that point, people should be able to test Vulkan games and applications to help finding bugs, and developers will also work on performance optimization. This will all take time.

Via Raspberry Pi Blog

Support CNX Software - Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples
Notify of