Mesa Merges Initial OpenGL/Vulkan Support For Raspberry Pi 5's GPU
Merged to Mesa 23.3 this weekend is initial support in the V3D Gallium3D (OpenGL) and V3DV Vulkan drivers for the Broadcom VideoCore 7.1.x graphics IP that is found within the new Raspberry Pi 5 single board computer.
While Raspberry Pi OS is shipping with its own downstream builds of Mesa and the Linux kernel to enable out-of-the-box graphics acceleration on the Raspberry Pi 5 right away, for more forward-looking and getting the upstream support so it can be easily picked up by other ARM Linux distributions, Igalia's Alejandro Piñeiro submitted the VideoCore 7.1.x graphics support to the upstream V3D/V3DV drivers in time for Mesa 23.3. Though there's also the DRM kernel graphics driver support that also needs to be upstreamed too for having a working open-source GPU stack -- that kernel code could come as soon as the v6.7 kernel.
Piñeiro wrote of the VideoCore 7.1.x changes for the Raspberry Pi 5:
With these patches, the Vulkan and OpenGL ES conformance test suites are successfully passing. See the merge for more details.
If you didn't see it yet, check out my Raspberry Pi 5 graphics benchmarks alongside all of the other Raspberry Pi 5 performance benchmarks.
While Raspberry Pi OS is shipping with its own downstream builds of Mesa and the Linux kernel to enable out-of-the-box graphics acceleration on the Raspberry Pi 5 right away, for more forward-looking and getting the upstream support so it can be easily picked up by other ARM Linux distributions, Igalia's Alejandro Piñeiro submitted the VideoCore 7.1.x graphics support to the upstream V3D/V3DV drivers in time for Mesa 23.3. Though there's also the DRM kernel graphics driver support that also needs to be upstreamed too for having a working open-source GPU stack -- that kernel code could come as soon as the v6.7 kernel.
Piñeiro wrote of the VideoCore 7.1.x changes for the Raspberry Pi 5:
Although there are a lot of changes compared with HW gen 4.X (used at the rpi4), it was not needed to create a full new drivers for them, just to heavily update v3d, v3dv and the common broadcom parts, especially the compiler.
This MR only includes patches that modifies v3d, v3dv, and broadcom common code. We also have some patches that needs changes on NIR, but we prefer to send them once this MR gets merged. Those are improvements that are not needed to get the driver working, so they can wait.
With these patches, the Vulkan and OpenGL ES conformance test suites are successfully passing. See the merge for more details.
If you didn't see it yet, check out my Raspberry Pi 5 graphics benchmarks alongside all of the other Raspberry Pi 5 performance benchmarks.
17 Comments