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.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
There is no Vulkan support.
… hence the future-tense language:
“Collabora confirmed the new partnership saying Arm will be instrumental in getting Vulkan support in Panfrost…”
I initially wrote “was” and changed that to “will be”, as I misunderstood that part of the announcement in the Collabora post.
Sorry for my too terse statement about Vulkan support.
I understood the article as it was written.
ARM already has closed Vulkan drivers for Linux/Android.
What I should’ve written is we shouldn’t expect Vulkan drivers from Collabora anytime soon. IMHO, it will take a long time to get to 1.3. Hopefully I’m being pessimistic.
The Collabora post is also fuzzy on whether they will develop a Vulkan driver for Bifrost (pre-Valhall).
This is awesome, though I would hardly give ARM the heroes’ welcome they’re suggesting they deserve. Their SoftBank owners have thoroughly forgotten ARM’s heritage and steered them in a pretty contradictory manner for many years, with the result being that ARM has been a poor citizen of the Open Source community. So it’s nice that the prodigal son returns… with narcissistic self-tooting fanfare… depriving us the opportunity to give them a proportional greeting… reinforcing their feeling of being under-appreciated, lol.
Although it is welcome, I suspect ARM may have done this to counteract the rise of RISC-V and its approach to open source. ARM’s target customer base has been Android and unfortunately they never took Linux seriously. Is it too late?
Considering RISC-V tends to come with PVR graphics when it has any, ARM still smells like roses in comparison. It’s hard to be as evil as OSS Satan after all.
As much as I hope risc-v will someday take over desktop/server, this is still way out in the future.
Arm sees immediate trouble in Qualcomm (and to a lesser extend Apple) getting entrenched in the desktop/laptop space.
I’m confused, I thought that Valhall gen2 GPUs like the Mali-G610 in the rk3588 are not supported in panfrost. Has that changed?
Panfrost supports G31-G76 (but not G71) as well as T600 – T880 (but not T604.) Alyssa posted MESA DRI patches for G610 in Feb 2022. But Android kernel updates move very slowly so support has been slow to appear. However there are RK3588-based SOCs running Arch with full 3D acceleration. forum . radxa . com / t / archlinux-on-rock5b / 13851 – see “panfork”
Are you referring to the panfork drivers which isn’t official and should be replaced by official mesa implementation.
Was curious to know if the official mesa driver was getting any better in supporting G610 on RK3588
There is also work on a new driver PanCSF for Valhall based GPUs, hopefully this enables Vulkan support. https://www.collabora.com/news-and-blog/news-and-events/pancsf-a-new-drm-driver-for-mali-csf-based-gpus.html
There is a fundemental change with for GPU’s with firmware Command Stream Frontends as Jasbir wrote above.
There is Panfork which is a userspace hack where it sort of works but maybe that is why you never see a GPU load over approx 40% (Also there are some politics where panfork is very likely a cul-de-sac)
Panfrost is waiting for CSF kernel space drivers, that I guess now dev will be accelerated.
PS it was ARM who dropped Warren East where Simon Segars applied IP before the Softbank acquisition and the direction was set internally before the sale.
Dont know why they didnt support Open Source Drivers before.
ARM on Linux has so many possible applications, but hardware acceleration was always holding ARM back on this.
I remember working with Raspberry Pi 1B+, the one that had a single ARM11 core, and a Udoo board with a Dual A9, and having so much stuff being faster on the Pi due to being hardware accelerated.
And for my personal interest in retro gaming, a good Vulkan driver on linux will be fantastic
Could just please someone buy out the graphics business from ARM and get the development ahead and open up the licensing model in a friendly way?!
Whilst criticisms of past behaviour of ARM/Mali are wholly legitimate and scepticism should still remain, this does have to be seen as a couple of steps forward. Proof will be in the pudding though, so once all relevant platforms are supported in practice then we will all be happier. It might even see some life being blown into older, more defunct SOC’s. The old S912 might just get to be able to show some of the performance that the hardware was capable of. But will Nvidia follow suit? I am of course joking there as you really cannot find rocking… Read more »
My s912 was running with some manjaro image with panfrost long ago, but the CPU is still no good for any general computing, so it is again collecting dust…