PanVk – Panfrost gets a Vulkan driver

PanVk Panfrost Vulkan

We’ve followed with interest the progress of the Panfrost open-source driver for Arm Mali Midgard and Bifrost GPUs which has gotten more traction over time with official support from Arm and is getting closer to OpenGL ES 3.0 compliance with work on OpenGL ES 3.1 on the way. But Collabora has now started working on PanVk driver for the more recent Vulkan graphics API, as part of the Panfrost project. This is very early stage, but the 3D cube demo above appears to be rendered with Panfrost’s PanVk Vulkan driver on Wayland in a Khadas VIM3 board based on Amlogic A311D hexa-core Cortex-A73/A53 processor with a Mali-G52 GPU. As noted in the announcement, getting a useful Vulkan driver will take time as : The driver lacks almost all core features that would make it usable for real-world applications Optimizations are left on the side for now The code base is […]

Mesa 20.3 released with Raspberry Pi 4 V3DV driver, Panfrost Bifrost support

Mesa 20.3 Raspberry Pi 4 Mali Bifrost

We’ve previously reported that the Vulkan 1.0 conformant V3DV driver for Raspberry Pi 4 and other Broadcom BCM2711 based platforms was part of Mesa 20.3 open-source graphics framework. But at the time, it was still under development. The good news is that Mesa 20.3 has now been released, and there’s much more than Raspberry Pi 4 support, as Collabora informed us the release also included Arm Mali Bifrost GPU support via the open-source Panfrost driver. The latter was made possible thanks to the work by Alyssa Rosenzweig and Boris Brezillon, with Alyssa going into details in a recent blog post on Collabora. More work is still needed with better performance and OpenGL 3.1 being the focus in the months ahead. But there were also many other changes in Mesa 20.3 as reported by Phoronix: OpenGL 4.6 and Vulkan 1.2 APIs support Initial support for Intel Gen12 Alder Lake graphics and […]

Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance

Sascha Willems’ Vulkan radial blur demo

Just a couple of weeks ago, we reported on the status of Raspberry Pi 4 Vulkan driver & future plans based on a presentation made by Igalia at the Open Source Summit 2020 at the end of October. At the time, the V3DV Vulkan Mesa driver for Raspberry Pi 4 was merged into Mesa, passed over 100,000 tests in the Kronos Conformance Test Suite (CTS), and was said to implement the full Vulkan 1.0 API. So it should come as no surprise that Khronos has now declared the Raspberry Pi drivers to be conformant with Vulkan 1.0 specifications. This was tested in Raspberry Pi OS with Linux 5.4.51 using X11 display server at 1920×1080 resolution on Raspberry Pi 4. Vulkan 1.0 conformance means the V3DV Mesa driver has passed all tests from Khronos CTS and should be compatible with most applications using this version of the API. The drivers will […]

Raspberry Pi 4 Vulkan Project Status & Future Plans – Q4 2020

Current status of Vulkan driver

Igalia has been developing a new open-source Mesa driver for the Raspberry Pi 4 since December 2019 and announced the implementation of the classical triangle Vulkan demo last February. Four months after the announcement of the Vulkan effort for Raspberry Pi 4 (v3dv), they merged with Mesa upstream. This means Raspberry Pi 4’s v3dv Vulkan driver has become part of the official Mesa drivers. Thus, bringing several advantages, like easy to find as it is now available on the official Mesa repository. Bugs can now be filed on the official Mesa repository bug tracker. In June, they passed over 70,000 tests from the Khronos Conformance Test Suite for Vulkan 1.0 and had an implementation of a significant subset of the Vulkan 1.0 API. This does not mean that the driver is ready for production use as they have implemented the full Vulkan 1.0 API.  They are now passing over 100,000 tests in the Kronos […]

Imagination IMG B-Series GPU family scales from IoT to the datacenter

Imagination IMG B-Series GPU: BXT MC4

Last year, Imagination Technologies unveiled IMG A-Series GPU family scaling from low-power IoT to mobile and high-performance server applications with up to 2.5 times the performance of the earlier PowerVR 9-series GPUs, as well as eight times faster AI processing and 60% less power under similar conditions. While I’m not aware of any SoCs announced with the new IMG A-Series GPU yet, the company has already announced the next-gen IMG B-Series GPU family with up to 4 times the multi-core performance thanks to decentralized multi-core technology, 30% lower power consumption, and 2.5 times the fill rate. The company offers four types of IM B-series GPU, each optimized for specific applications IMG BXE for high-resolution displays – From 1 up to 16 pixels per clock (PPC) BXE scales from 720p to 8K for UI rendering and entry-level gaming. IMG BXM designed for mid-range mobile gaming and complex UI solutions for DTV […]

Raspberry Pi VideoCore IV Boards Get an Unofficial Vulkan Driver Good Enough to Play Quake 3

Raspberry Pi 3 Vulkan VideoCore IV GPU

The Raspberry Pi Foundation is collaborating with Igalia to work on everything related to graphics support for VideoCore VI GPU found in Raspberry Pi 4’s Broadcom BCM2711 SoC. This lead to OpenGL ES 3.1 conformance at the beginning of the year, and good progress with Raspberry Pi 4 Vulkan support. There’s no plan to work on an official Vulkan driver for earlier Raspberry Pi  boards with VideoCore IV GPU, but since the Raspberry Pi Foundation released open-source VideoCore IV driver and documentation several years ago, it’s, in theory, possible for skilled developers to improve on it. That’s exactly what Martin Thomas, an NVIDIA engineer, has done in his spare time, and after two years of work, a Vulkan driver for Raspberry Pi VideoCore IV board – RPi-VK-Driver – has been released on Github. Pi-VK-Driver implements a subset of the Vulkan, and since it is not fully conformant to the standard […]

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

Raspberry Pi 4 Vulkan Demo

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. 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 […]

Panfrost Gets First 3D Renders on Bifrost GPU (Mali-G31) including Basic Texture Support

Collabora has been working on Panfrost open-source Arm Mali GPU driver for over a year. The drive aims to support both Midgard and Bifrost families. But so far, the company had mostly focused on Midgard (Mali-T6xx/T7xx) GPUs with for example experimental OpenGL ES 3.0 support announced last February. Collabora engineers, such as Alyssa Rosenzweig, have now started to work on Bifrost support, and some good progress has been made since they managed to have Panfrost render the first 3D graphics with basic texture support using a platform with an Arm Mali-G31 GPU. Alyssa notes that while Midgard and Bifrost have a similar command stream requiring a few changes, the Bifrost instruction set is completely different and required building a new compiler from scratch. This leads to changes to the Intermediate Representation (IR), 16-bit data support, a different register allocation mechanism due to adapt to irregular vector architectures, and the latter […]