Arm is now saying that “in effect, Panfrost is now the GPU driver for the Linux community” after having extended and expanded the collaboration with Collabora for the development of the open-source Panfrost driver for Arm Mali GPUs, following their first official collaboration in the fall of 2020.
Arm goes even as far as to claim that “through the Arm and Collabora partnership, device manufacturers can confidently choose SoCs containing a Mali GPU regardless of the software operating system (OS) and graphics middleware… delivering a high-quality open-source Linux implementation which can be used in their products”. Collabora confirmed the new partnership saying Arm will be instrumental in getting Vulkan support in Panfrost alongside the existing OpenGL and OpenGL ES implementations.
Going forward that means SBC vendors will have no excuse for not getting 3D graphics acceleration working on Linux with Panfrost when using an Arm SoC with a recent Mali GPU. But it has not always been that way, and the road to a production-ready open-source Arm Mali GPU driver for Linux has been a long and arduous one that basically followed the old adage “first they ignore you, then they laugh at you, then they fight you, then you win”.
The first attempt at an open-source Mali GPU driver was with the Lima project targetting the Mali-400 GPU, and at the time, Arm management was not collaborative and possibly even hostile to the project since it had to reverse-engineer the GPU and related tools. I first learned about the Panfrost open-source driver newer Mali Midgard (Mali-T6xx, Mali-T7xx) GPUs in a 2019 Linaro Connect presentation by Rob Herring, Technical Architect at Linaro, and Tomeu Vizoso, Principal Software Engineer at Collabora.
From there, the future of open-source Arm Mali Linux drivers became more and more hopeful with both Lima and Panfrost being added to Linux 5.2 (July 2019), Arm and Collabora announced a partnership for the development of Panfrost in September 2020, which later left me confused in July 2021 since Alyssa Rosenzweig still had to do reverse-engineering for the Valhall instruction set at that time, Debian 11 was released with both Lima and Panfrost support, and we’ve seen more and more Linux images for Arm SBCs with Panfrost, and I personally tested ODROID-N2+ running Ubuntu 21.10 using Wayland and Panfrost.
Some of the Arm Linux OS images I’ve tested this year relied on the closed-source Mali drivers for 3D graphics acceleration, but I’d expect those to go away, and Panfrost should become the driver of choice in Linux going forward. Android was not mentioned by either Arm or Collobora, so I’d assume Arm will still focus their resources and provide closed-source Mali GPU drivers for Android, while expanding their support for Panfrost on Linux.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.