Panthor open-source driver for Arm Mali-G310, Mali-G510, Mali-G610, and Mali-G710 GPUs to be part of Linux 6.10

Panthor open-source Arm Mali G610 GPU driver linux

Collabora has been working on the Panthor open-source GPU kernel driver for the third-generation Arm Valhall GPU (Arm Mali-G310, Mali-G510, Mali-G610, and Mali-G710) for around two years, and the code has just been merged in drm-misc meaning it should be part of the upcoming Linux 6.10 release sometime in July 2024. Many regular readers must already be familiar with the Panfrost open-source driver for Arm Mali GPUs as we’ve covered its development progress over the years. Panthor is a new kernel driver specific to the 3rd gen Valhall GPUs that still relies on the Panfrost driver residing in userspace, as explained by Boris Brezillon from Collabora. Furthermore, the existing Gallium “Panfrost” driver in Mesa has also received a merge request adding support for those GPUs (10th gen Arm Mali = 3rd gen Arm Mali Valhall) meaning popular targets such as the Rockchip RK3588 SoC with an Arm Mali-G610 MP4 GPU […]

Arm Immortalis-G715 GPU supports hardware-based ray tracing

Arm Mali-G615, Mali-G715, Immortalis G715

Arm has unveiled the new Immortalis family of flagship GPUs with support for hardware-based ray tracing starting with the Immortalis-G715 GPU, as well as two new premium Mali GPUs namely Arm Mali-G615 and Mali-G715. Software-based ray tracing was already implemented on Arm Mali G710 on SoC’s such as the MediaTek Dimensity 9000, but the hardware-based ray tracing in the Immortalis-G715 delivers over 300 percent performance improvements, and only uses 4% of the shader core area. This will be mostly used in games to generate realistic lighting and shadows as can be seen in the “before vs after” video demo below.   While hardware-based ray tracing is only available on the Immortalis-G715 GPU, all three new GPUs feature a new execution engine and support variable rate shading. The Immortalis-G715 flagship GPU will come with 10 or more cores, the Mali-G715 with 6 to 9 cores, and the Mali-G615 with 6 cores […]

Debian 11 “BullsEye” released with Panfrost & Lima GPU drivers, exFAT support, driverless printing

Debian 11

Debian 11 “BullsEye” has been released with Panfrost & Lima open-source drivers for Arm GPUs, in-kernel exFAT file system, driverless printing, and many more updates, plus a 5-year support window. Debian’s release is significant as the Linux operating system serves as the base for Ubuntu and derivatives, Raspberry Pi OS, and together with Ubuntu, is one of the operating systems supported by Armbian which offers images for a range of Arm-based single board computers. Arm Mali GPU support in Debian 11 I remember a few years ago 3D graphics acceleration on Arm boards was news, as it was quite a challenge to get it working due to binary blobs. But Debian 11 now comes with Mesa 20.3 framework which includes Panfrost and Lima open-source Mali GPU drivers by default, as well as the Vulkan 1.0 conformant V3DV driver for Raspberry Pi 4. As noted in the documentation that means the […]

Mali-G78 GPU’s Valhall instruction set documentation released after reverse-engineering work

Arm Mali Valhall GPU product matrix

Collabora has been working on Panfrost open-source GPU driver for Arm Mali Bifrost and Midgard GPU for several years, and even getting official support from Arm. But apparently, that support does not include documentation for Mali-G78 GPU and other recent Arm Valhall Mali GPUs, as the company recently reverse-engineered Mali-G78 for about a month before releasing the documentation on the Valhall instruction set (PDF). Other results from the reverse-engineering include an XML architecture description that can be parsed by programs,  as well as a Valhall assembler and disassembler that were used as a reverse-engineering aid. Besides Mali-G78 “Borr” GPU, the work will be useful for other Valhall GPUs include Mali-G77 “TryM’, Mali-G57 “Natt-A/B”, Mali-G68 “Ottr”, and Mali-G78AE “Borr-AE” for automotive & industrial applications. Alyssa Rosenzweig explains Collabora’s work that was based on the International edition of the Samsung Galaxy S21 phone powered by Samsung Exynos 2100 system-on-chip with a Mali-G78 […]

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

Arm Officially Supports Panfrost Open-Source Mali GPU Driver Development

Arm Panfrost Linux

Most GPU drivers found in Arm processors are known to be closed-source making it difficult and time-consuming to fix some of the bugs since everybody needs to rely on the silicon vendor to fix those for them, and they may even decide a particular bug is not important to them, so you’d be out of luck. So the developer community has long tried to reverse-engineer GPU drivers with projects like Freedreno (Qualcomm Adreno), Etnaviv (Vivante), as well as Lima and Panfrost for Arm Mali GPUs. Several years ago, Arm management was not interested at all collaborating with open-source GPU driver development for Mali GPUs, but as noted by Phoronix, Alyssa Rosenzweig,  a graphics software engineer employed by Collabora, explained Panfrost development was now done in partnership with Arm during a talk at the annual X.Org Developers’ Conference (XDC 2020). A recent merge commit confirms the move with Daniel Stone, Graphics […]

GNOME Renders on Arm Mali-G31 Bifrost GPU with Fully Open Source Code

Panfrost ODROID Go Advance Black Edition

We first wrote about Panfrost open-source Arm Mali GPU driver getting initial support for Mali-G31 Bifrost GPU in late April, when engineers at Collabora managed to run some basic demos. Progress has been fast-paced as the company has now implemented support for all major features of OpenGL ES 2.0 and some features of OpenGL 2.1. That means hardware-based on Arm Mali-G31 GPU such as ODROID Go Advance (used for testing) can run Wayland compositors with zero-copy graphics, including GNOME 3, every scene in glmark2-es2 benchmarks, and some 3D games such as Neverball. All without any binary blobs. The company also claims to support hardware-accelerated video players mpv and Kodi. The way it should work is that while Panfrost driver renders the user interface, Amlogic open-source video decoder developed by BayLibre handles hardware video decoding. All changes are already included in upstream Mesa with no out-of-tree patches required, and Bifrost support […]

Panfrost Open-Source Arm Mali GPU Driver Gets Experimental OpenGL ES 3.0 Support

Panfrost OpenGL ES 3.0

Panfrost is the open-source driver being developed for Arm Midgard and Bitfrost GPUs. The first versions focused on support for OpenGL ES 2.0, but the more recent OpenGL ES 3.0 enables faster and more realistic rendering. The goods news is that Panfrost support for experimental OpenGL ES 3.0 has landed in Mesa according to a recent post on Collabora blog. Specifically, Panfrost now supports instanced rendering, primitive restart, uniform buffer objects, 3D textures, and multiple render targets (on Mali T760 and up) all of which are OpenGL ES 3.0 features. People who are not into graphics development may not know about the purpose of those features, but Alyssa Rosenzweig, a free software graphics hacker leading Panfrost, explains: … instanced rendering and primitive restart allow developers to write faster graphics applications, to render efficiently scenes more complex than possible in ES 2.0. … uniform buffer objects and 3D texture give developers […]

EDATEC Raspberry Pi 5 fanless case