Panfrost is an Open Source Driver for Arm Mali Midgard GPUs

Getting GPU drivers to work on Linux with Arm SoCs was really a struggle a few years ago due to close-sources binary blobs that required all bugs to be fixed by a single team. But in recent years we’ve seen good progress with open source mobile GPU drivers including Freedreno for Adreno GPUs, and Etnaviv for Vivante GPUs.

Arm Mali also got its own open source Lima driver worked on for many years but only for older Utgard GPUs (Mali 400, Mali 450). However, during the Opensource GPU Drivers BoF at Linaro Connect Bangkok 2019, Rob Herring, Technical Architect at Linaro and Tomeu Vizoso, Principal Software Engineer at Collabora, discuss the status of drivers, and I learned about an open source driver for Mali Midgard (Mali-T6xx, Mali-T7xx) GPU called Panfrost.

Panfrost open source arm gpu driver
Click to Enlarge

As we’ll see below, the driver is already capable of running basic demos, has been upstreamed to Mesa, and tested on Rockchip RK3288 / R3399, and Amlogic S912 with respectively Arm Mali-T764, Arm Mali-T864, and Arm Mali-T820MP3 GPU.

There’s still a lot more work to do, and some of the tasks to complete include merge into mainline, GNOME Shell, browsers and WebGL support, MMU improvements, OpenCL and Vulkan APIs support, as well as dEQP and CTS compliance. They’ll also work on Bitfrost (Mali-Gxx GPUs).

Charbax met with Collabora at Embedded World 2019 earlier this year, and just recently uploaded the video showing Panfrost demo on RockPi 4 board and other platforms.


Depending on what you plan to achieve with the graphics driver, you may have to be patient, or help improve the drivers, as Robert Foss, graphics developer at Collabora, estimates that a fully-compliant GPU driver with stability and features similar to Freedreno may take 2 to 4 more years.

You’ll find the source for Panfrost on Gitlab, and can follow those instructions to building Panfrost driver. Further details and links may be found in a corresponding blog post in Collabora website.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
12 Comments
oldest
newest
zoobab
5 years ago

“Robert Foss” developing FOSS drivers, LOL. Keep on the good work guys!

blu
blu
5 years ago

Given how Panfrost is GLES2, I think that they might first attempt GLES3 prior to OCL or any other GPU API that is currently in use.

Paul M
Paul M
5 years ago

wouldn’t Vulkan be better? From the little I know, it might be easier as the code base is cleaner.

blu
blu
5 years ago

Panfrost has already passed (or is about to soon) the threshold of GLES entry — GLES2. From there on to GLES3 they’d just need to build on the featureset without changing the overall model, vis-a-vis a brand new API. Moreover, for proper Vulkan shaders they’d need a bunch of functionality from GLES3 shaders (e.g. compute shaders).

Shippy
Shippy
5 years ago

2-4 years for a fully compliant driver, is this chewitt@LibreELEC’s idea of *soon* when he talks about S912 mainline support…

jernej
jernej
5 years ago

Kodi is already running with current Panfrost driver, so yeah, soon. It doesn’t need GLES3 or even Vulkan for that.

RK
RK
5 years ago

Consider the following:
1. The SoCs are going to stick with 4k for quite a while.
2. Panfrost is targeting contemporary GPU architectures.
3. It’s 4-7 years for full coverage but it’s 2-4 years for video playback and desktop rendering at 1080p/30fps since that’s well below what most modern GPUs can pull off.

So, maybe it’s not great for current cheap SoCs. But it’s still a pretty decent ARM laptop in the next couple of years assuming the new compute cores are adopted.

blu
blu
5 years ago

Just so the reader can get a taste of how fast Panfrost has been developing, here’s a recent blog post by one of the original lead devs: https://rosenzweig.io/blog/kodi-supertuxkart-panfrost.html

dgp
dgp
5 years ago

The only way I see these GPU drivers ever being properly useful is if Google mandates that source is provided for all drivers for Android devices going forward and vendors start improving them. ARM said the reason they didn’t opensource all of the mali drivers was that there wasn’t market demand for it. If vendors can’t ship phones anymore because Google won’t give them access to Play then maybe that would happen.

theguyuk
theguyuk
5 years ago

You only need to look at the demand for retro consoles to see the interest for gaming on arm. The arm SoC can deliver better graphics than the systems they emulate. Lack of open universal drivers hold the arm market back.
The interest in the Odroid N2 drivers demonstrate the very point.

dgp
dgp
5 years ago

Those sort of e-waste products don’t need to have properly maintained drivers. You hack up whatever ancient buggy crap the chip vendor gives you until it works, ship it and then forget about it. As long as it doesn’t get connected to a network there’s not much of a problem. Smartphones on the other hand are a global disaster just waiting to happen.

aussetg
aussetg
5 years ago

“Open Source Drivers”

The three magic words to give me an instant boner

Khadas VIM4 SBC