Iglia has done more work on the graphics driver for the VideoCore VI GPU found in Raspberry Pi 4 and other Broadcom BCM2711-based hardware with Vulkan 1.2 conformance, and Roman Stratiienko added Vulkan 3D graphics acceleration to Android, or more exactly LineageOS.
Raspberry Pi and Iglia have been collaborating together since the launch of the Raspberry Pi 4 SBC to develop a Khronos conformant Mesa 3D graphics driver for the board, and that’s a long-term project that’s been going on for over two years, and not quite finished yet. Here’s a non-exhaustive timeline of the project so far:
- February 2020 – Raspberry Pi 4 V3DV driver gets OpenGL ES 3.1 conformance, work on Vulkan starts with the basic triangle demo showcased
- June 2020 – Vulkan driver source code released with many demos working on Raspberry Pi 4
- October 2020 – Iglia gives a project update status presentation for Raspberry Pi 4 Vulkan project at the Open Source Summit Europe 2020
- November 2020 – Raspberry Pi 4 V3DV driver achieves Vulkan 1.0 conformance.
- October 2021 – Vulkan 1.1 conformance plus a significant performance boost
- July 2022 (August announcement) – Vulkan 1.2 conformance
- Future – Vulkan 1.3 conformance sometimes in 2023
Graphics drivers take a lot of time to work on, and it’s the same for the Panfrost open-source driver for Mali GPUs that we first covered in 2019, although a bit different since the project gets updated as new Mali GPU architectures get released as well.
Igalia’s Iago Toral says all the changes required for Vulkan 1.2 core functionality for the Raspberry Pi 4 have been merged to the upstream V3DV Mesa driver and will eventually be available in future Raspberry Pi OS updates, and work has started for other extensions, some Vulkan 1.3. So it will take some time before Vulkan 1.2 support is available in Raspberry Pi OS as Mesa 22.2 must be released first, and then picked up by the Debian package repository. But if you compile upstream Mesa driver yourself, you should be able to check out games or demos like the “The Deferred Shadows” sample from Sasha Willems.
Separately, Roman Stratiienko added OpenGL and Vulkan support to the Android 11-based LineageOS 18.1 for Raspberry Pi 4, and other similar hardware such as the Raspberry Pi 400, and Compute Module 4 with at least 2GB RAM. Eben Upton says “The best examples of “real world” applications for Vulkan on Raspberry Pi today are games running on Android/Lineage”, and that includes games such as Real Racing.
While Android support on Raspberry Pi 4 has gone a long way and most features are working, LineageOS is still for advanced users and still missing video hardware decoding and encoding (software decoding/encoding is OK), and the stock camera app does not work (third-party ones seem OK). Security may not be optimal either as SELinux is in permissive mode.
Via Raspberry Pi Blog.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.