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 Supports Panfrost

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

Rock Pi 4 SBC Runs GNOME & KDE Plasma using Panfrost Open Source GPU Driver & Wayland

RK3399 Panfrost GNOME

One of the highlights of Linux 5.2 release was support for two new Arm Mali GPU open-source drivers, namely Lima for Mali-4xx GPU, and Panfrost for the Midgard Mali-T6xx/7xx/8xx series, and the more recent Bifrost Mali-Gxx GPUs. Collabora worked on the release and was donated a few Rock Pi 4 boards from Radxa directly to work on the project. For those who are not familiar, Rock Pi 4 board is powered by a Rockchip RK3399 processor with a Mali-T860MP4 GPU that is supported by Panfrost open source GPU driver. The company managed to have Debian 10 Buster running on Rock Pi 4 using 3D graphics acceleration thanks to Panfrost drivers on both GNOME and KDE Plasma desktop environment, as well as Weston Wayland compositer. The good news is that you can build Rock Pi 4 images by yourself using Debos with the following commands:

Alternatively, you could directly download […]

Linux 5.2 Release – Main Changes, Arm, MIPS & RISC-V Architectures

Linux 5.2 Changelog

Linus Torvalds announced the release of Linux 5.2 last Sunday: So I was somewhat pre-disposed towards making an rc8, simply because of my travels and being entirely off the internet for a few days last week, and with spotty internet for a few days before that [*]. But there really doesn’t seem to be any reason for another rc, since it’s been very quiet. Yes, I had a few pull requests since rc7, but they were all small, and I had many more that are for the upcoming merge window. Part of it may be due to the July 4th week, of course, but whatever – I’ll take the quiet week as a good sign. So despite a fairly late core revert, I don’t see any real reason for another week of rc, and so we have a v5.2 with the normal release timing. There’s no particular area that stands […]