Linux 5.14 Release – Main changes, Arm, MIPS, and RISC-V architectures

Linux 5.14 release

Linus Torvalds has just announced Linux 5.14 release which happens to almost coincide with the anniversary of the initial announcement of the “small” project on August 25, 1991, about 30 years ago. Here’s Linux 5.14’s announcement: So I realize you must all still be busy with all the galas and fancy balls and all the other 30th anniversary events, but at some point you must be getting tired of the constant glitz, the fireworks, and the champagne. That ball gown or tailcoat isn’t the most comfortable thing, either. The celebrations will go on for a few more weeks yet, but you all may just need a breather from them. And when that happens, I have just the thing for you – a new kernel release to test and enjoy. Because 5.14 is out there, just waiting for you to kick the tires and remind yourself what all the festivities are […]

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

Panfrost now supports OpenGL ES 3.1 on Midgard (Mali T760 and newer) and Bifrost (Mali G31, G52, G76) GPUs

Panfrost OpenGL ES 3.1

OpenGL ES 3.0 experimental support for Panfrost open-source Arm Mali GPU driver was announced in February 2020 and culminate with the release of Mesa 20.3 with Panfrost support last December. Collabora has now started to work on Panvk, Panfrost Vulkan driver, but that does not mean OpenGL ES work is done, and the company has just published a blog post about OpenGL ES 3.1 support in Panfrost. Alyssa Rosenzweig explains OpenGL ES 3.1 extends to both the older Midgard GPUs that include Mali T760 and newer version, and the more recent Bifrost GPUs with Mali-G31, Mali-G52 and Mali-G76. Compared to OpenGL ES 3.0, OpenGL ES 3.1 adds compute shaders, indirect draws, and no-attachment framebuffers. Boris Brezillon, Italo, Nicola, Alyssa, and the wider Mesa community especially focused on Mali-G52 GPU, found for instance in Amlogic A311D and Rockchip RK3566, with Panfrost driver passing essentially all of drawElements Quality Program and Khronos […]

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

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

Perfetto Profiler Now Supports Mali GPU Hardware Counters via Panfrost

Perfetto Mali GPU Profiling

Perfetto is an open-source system profiler, app tracer, and trace analyzer for Linux, Android & Chrome platforms, and user-space apps. The program can already visualize CPU and memory usage, as well as power consumption.  GPU support is more limited with the program only capable of sampling the GPU frequency when the driver outputs that information via ftrace. When Perfetto is also extendable thanks to a Tracing C++ SDK that “allows userspace applications to emit trace events and add more app-specific context to a Perfetto trace”. Collabora made use of the tracing SDK to add support for Mali Midgard GPU performance profiling in gfx-pps project using the Mali GPU hardware counters exposed via Panfrost open-source Mali GPU driver. After following the installation instructions, you’ll be able to run the following executables for tracing and profiling: tracedtracing service. traced_probes OS probes service. perfetto command-line tool for recording traces. producer-gpuproviding the Panfrost data […]