The Raspberry Pi 4's open-source Vulkan driver for its Broadcom GPUs has now achieved conformance with the Vulkan API 1.2 standard.
Vulkan is a graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs, and aims to provide graphics developers with new ways to get the best performance out of hardware. Raspberry Pi founder Eben Upton described the driver as a 'much requested feature' when work started on the project a couple of years ago.
Check out which companies are dominating the kit market.
Read nowThe new driver will come to future Raspberry Pi OS updates as the Vulkan 1.2 updates have been merged into the upstream V3DV Mesa driver. As with Vulkan 1.0 conformance Raspberry Pi gained over a year ago, Vulkan 1.2 API conformance gives app developers better access to Pi's Broadcom VideoCore 3d GPU.
SEE:The 5 best Raspberry Pi alternatives: Top single board computers
The best examples of "real world" applications for Vulkan on Raspberry Pi today are games running on Android/Lineage, Upton said.
Raspberry Pi has partnered with consultancy Igalia to develop Vulkan drivers for Pi 4's GPU.
"Aside from Vulkan 1.2 core functionality, we have also been adding support for various other extensions, some of which are core in Vulkan 1.3, as well as many bug fixes and performance improvements," explains Igalia.
Conformance with the Vulkan APIs is handled by graphics API standards body, The Khronos Group. Khronos announced Vulkan 3D graphics versions 1.3 API specifications in January.
Upton offered some personal history about his involvement in the development of the Broadcom VideoCore 3d GPU found in all Raspberry Pi computers. He was one of the chip's key designers in the years before the first Pi arrived in 2012.
Upton also represented Broadcom at Khronos between 2007 and 2012, when the primary focus was on the OpenGL and OpenGL ES APIs, which provided an abstraction layer that allowed developers to write 3D graphics applications for any platform, regardless of the underlying GPU.
Upton notes OpenGL was getting long in the tooth after 20 years and was causing overhead and inefficiency in the application and driver stacks.
Vulkan 1.0 arrived in 2016 as a more modern method of abstraction. In a separate blogpost, Igalia's Iago Total details some of the optional features in Vulkan 1.2 that V3DV isn't supporting yet.