Applies to an unreleased Debian version
Panfrost and Lima are only included in Debian 11 and newer, which is currently unreleased. All information here is tentative, and is subject to change as Debian 11 is developed.
Detailed information on Mali GPUs, and instructions on installing the proprietary drivers, can be found on the MaliGraphics page. This page is dedicated to documenting the new open-source Panfrost and Lima drivers introduced in Debian 11, including any tweaks and issue workarounds.
The free and open-source Panfrost and Lima drivers for Mali GPUs are part of Mesa and are fully free software. Compared to the proprietary drivers, they have much better stability and software compatibility and are recommended for the average user.
The Lima driver provides support for the older "Utgard" Mali GPUs, while Panfrost provides support for the newer Midgard and Bifrost GPUs. Valhall support is pending.
Debian 11 comes with Mesa 20.3 which supports the Mali 400 and 450 GPUs via the Lima driver, and various Mali G-series and T-series GPUs via the Panfrost driver. This will cover most modern ARM SoCs, including those found in the Pinebook and Pinebook Pro devices. Mali Gxx devices (also known as "Bifrost" chips) are supported experimentally and require an extra environment variable to be set before they'll use the Panfrost driver, as documented in the Configuration section below.
In terms of specifically supported GPUs, Panfrost mainly supports the Mali T720 (only up to OpenGL 2.1 and OpenGL ES 2.0), Mali T760, Mali T820, Mali T860, Mali G72, Mali G31, and Mali G52.
Other Midgard and Bifrost chips (T604, T620, T830, T880, G71, G51, G76) may work but may be buggy.
Most of the hardware in question theoretically supports OpenGL ES 3.0, Vulkan 1.1, and OpenGL 4.6. Currently, the Panfrost driver only officially supports OpenGL 2.1 and OpenGL ES 3.0 at this time.
The Panfrost driver stack implementations of OpenGL and OpenGL ES are non-conformant, as per the official documentation.
OpenGL 3.1 is experimentally available but may still have other miscellaneous issues, potentially leading to strange rendering issues in applications expecting certain features to be available. See the "Configuration" section below for instructions on how to use it.
Which driver should I use?
Between the Panfrost/Lima driver and the non-free drivers also packaged and in Debian/non-free,the Panfrost/Lima driver is almost always recommended. However, incomplete support for OpenGL and nonexistent support for Vulkan may be a concern for some use-cases. Some workloads may also see better performance with the non-free driver, though successive Mesa versions are closing this gap and even demonstrating better performance than the non-free driver in Panfrost/Lima with many workloads.
Experimentation is recommended if you're in a performance or compatibility-critical environment, however average desktop users should stick with the Panfrost/Lima drivers to see the best stability.
OpenCL support is not implemented yet. Hardware video acceleration is not within the scope of the Panfrost or Lima drivers.
Enable support for Mali "Bifrost" GPUs
Support for GPUs from the Bifrost series, the Mali-Gxx chips, is still in-development and requires some extra effort to enable. All major features should be there, and a typical GNOME or KDE Plasma desktop running on Xorg or Wayland should have no issues.
It's best to enable system-wide support by setting the appropriate environment variable in a /etc/environment.d/panfrost-enable-bifrost.conf file and add the text:
Then reboot your system to activate your GPU.
Enable OpenGL 3.1 support
In the version of Mesa that comes with Debian 11 (Mesa 20.3), Panfrost supports OpenGL 2.1 and OpenGL ES 3.0 without any further tweaks necessary. Support for OpenGL 3.1 is available albeit unfinished, and does require a tweak to enable.
Set the PAN_MESA_DEBUG environment variable to gl3. This can be done temporarily for a given terminal session by running
Or by prefixing a single command with it in order to apply it just for that application, as with:
To set it persistently across your whole system, you can create a /etc/environment.d/panfrost-enable-gl3.conf file and add the following text, then reboot your PC:
The Lima project page - https://gitlab.freedesktop.org/lima/
The Panfrost project page - https://panfrost.freedesktop.org/
The Panfrost documentation - https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/docs/drivers/panfrost.rst