Differences between revisions 1 and 18 (spanning 17 versions)
Revision 1 as of 2020-06-16 05:08:06
Size: 4354
Comment: Create new page for the Panfrost/Lima drivers, as to not clutter the main MaliGraphics page which primarily documents the proprietary drivers.
Revision 18 as of 2021-08-17 21:51:30
Size: 3422
Comment: Update version comments
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
{{{#!wiki important
'''Applies to an unreleased Debian version'''
Line 7: Line 5:
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.
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.
Line 11: Line 10:
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 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.
Line 13: Line 14:
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. 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.
Line 15: Line 18:
<<TableOfContents(1)>> <<TableOfContents(2)>>
Line 17: Line 21:
Debian 11 comes with Mesa 20.1 which supports the Mali 400 and 450 GPUs via the Lima driver, and Mali Gxx/T6xx/T7xx/T8xx GPUs via the Panfrost driver. This will cover most modern ARM !SoCs, including those found in the Pinebook and Pinebook Pro devices.
Line 19: Line 22:
In terms of specifically supported !SoCs, anything using an RK3288, RK3399, S912, Exynos 7580, MT6735, or MT6753 chip should certainly work without any issues. But as long as your GPU isn't too particularly new or old (Midgard and Bifrost being the most comprehensively supported revisions), you should expect it to function. 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.

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.
Line 21: Line 34:
Line 22: Line 36:
Most of the hardware in question theoretically supports OpenGL ES 3.0, Vulkan 1.1, and OpenGL 4.6. In reality, the drivers have mainly targeted and optimized for OpenGL 2.1 and OpenGL ES 2.0 so far.
Line 24: Line 37:
OpenGL ES 3.0 is experimentally available but may have worse performance than OpenGL ES 2.0 and may not support the full specification, 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. Most of the hardware in question theoretically supports
OpenGL ES 3.2 and Vulkan 1.1. In the version of Mesa that comes with Debian 11 (Mesa 20.3),
Panfrost supports OpenGL 2.1 and OpenGL ES 3.0 (2.0 on Bifrost). If additional features are required, OpenGL 3.1 and OpenGL ES 3.1 are available with newer versions of Mesa. See [[https://docs.mesa3d.org/drivers/panfrost.html|the Panfrost documentation]] for how to build.

The Panfrost driver stack implementations of OpenGL and
OpenGL ES are '''non-conformant''', as per the official documentation.
Line 26: Line 45:
Line 27: Line 47:
Between the Panfrost/Lima driver and the binary drivers also packaged in Debian, the Panfrost/Lima driver is almost always recommended. However, incomplete support for OpenGL ES 3.0 and nonexistent support for Vulkan may be a concern for some use-cases. Some workloads may also see better performance with the binary driver, though successive Mesa versions are closing this gap and even demonstrating better performance than the binary driver in Panfrost/Lima with many workloads.
Line 29: Line 48:
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. 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.
Line 31: Line 62:
Line 32: Line 64:
Both the Panfrost and Lima drivers are included in Mesa and should work out-of-the-box after installing the relevant packages (which are, in practice, DebianPkg:libglx-mesa0 and DebianPkg:libgl1-mesa-dri).
Line 34: Line 65:
For OpenCL support, you'll need to also install the DebianPkg:mesa-opencl-icd package. Install the DebianPkg:mesa-va-drivers and DebianPkg:mesa-vdpau-drivers packages for hardware video acceleration. Both the Panfrost and Lima drivers are included in Mesa
and should work out-of-the-box after installing the relevant packages
(which are, in practice, DebianPkg:libglx-mesa0 and DebianPkg:libgl1-mesa-dri).

OpenCL support is not implemented yet. Hardware video acceleration is not
within the scope of the Panfrost or Lima drivers.
Line 36: Line 73:
= Configuration =
In the version of Mesa that comes with Debian 11 (Mesa 20.1), Panfrost supports OpenGL 2.1 and OpenGL ES 2.0 without any further tweaks necessary. Support for OpenGL ES 3.0 is available albeit unfinished, and does require a tweak to enable.

Set the {{{PAN_MESA_DEBUG}}} environment variable to {{{gles3}}}. This can be done temporarily for a given terminal session by running
{{{
export PAN_MESA_DEBUG=gles3}}}
Or by prefixing a single command with it in order to apply it just for that application, as with:
{{{
PAN_MESA_DEBUG=gles3 supertuxkart
}}}
To set it persistently across your whole system, you can edit the {{{/etc/environment}}} file and, on a new line, add the text then reboot your PC:
{{{
PAN_MESA_DEBUG="gles3"
}}}
Line 52: Line 75:
[[Mesa]]
Line 54: Line 76:
[[MaliGraphics]]

The Lima project page - https://gitlab.freedesktop.org/lima/

The Panfrost project page - https://panfrost.freedesktop.org/
 * [[Mesa]]
 * [[M
aliGraphics]]
 * 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

Translation(s): none


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.

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.

Hardware support

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.

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.


Software support

Most of the hardware in question theoretically supports OpenGL ES 3.2 and Vulkan 1.1. In the version of Mesa that comes with Debian 11 (Mesa 20.3), Panfrost supports OpenGL 2.1 and OpenGL ES 3.0 (2.0 on Bifrost). If additional features are required, OpenGL 3.1 and OpenGL ES 3.1 are available with newer versions of Mesa. See the Panfrost documentation for how to build.

The Panfrost driver stack implementations of OpenGL and OpenGL ES are non-conformant, as per the official documentation.


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.


Installation

Both the Panfrost and Lima drivers are included in Mesa and should work out-of-the-box after installing the relevant packages (which are, in practice, libglx-mesa0 and libgl1-mesa-dri).

OpenCL support is not implemented yet. Hardware video acceleration is not within the scope of the Panfrost or Lima drivers.


See also


CategoryHardware CategoryVideo