Panfrost¶
The Panfrost driver stack includes an OpenGL ES implementation for Arm Mali GPUs based on the Midgard and Bifrost microarchitectures. It is conformant on Mali-G52, Mali-G57 and Mali-G610, but non-conformant on other GPUs. The following hardware is currently supported:
Models |
Architecture |
OpenGL ES |
OpenGL |
---|---|---|---|
T600, T620, T720 |
Midgard (v4) |
2.0 |
2.1 |
T760, T820, T830 T860, T880 |
Midgard (v5) |
3.1 |
3.1 |
G72 |
Bifrost (v6) |
3.1 |
3.1 |
G31, G51, G52, G76 |
Bifrost (v7) |
3.1 |
3.1 |
G57 |
Valhall (v9) |
3.1 |
3.1 |
G310, G610 |
Valhall (v10) |
3.1 |
3.1 |
Other Midgard and Bifrost chips (e.g. G71) are not yet supported.
Older Mali chips based on the Utgard architecture (Mali-400, Mali-450) are supported in the Lima driver, not Panfrost. Lima is also available in Mesa.
Other graphics APIs (Vulkan, OpenCL) are not supported at this time.
Building¶
Panfrost’s OpenGL support is a Gallium driver. Since Mali GPUs are 3D-only and
do not include a display controller, Mesa uses kmsro to support display
controllers paired with Mali GPUs. If your board with a Panfrost supported GPU
has a display controller with mainline Linux support not supported by kmsro,
it’s easy to add support, see the commit cff7de4bb597e9
as an example.
LLVM is not required by Panfrost’s compilers. LLVM support in Mesa can safely be disabled for most OpenGL ES users with Panfrost.
Build like meson . build/ -Dvulkan-drivers=
-Dgallium-drivers=panfrost -Dllvm=disabled
for a build directory
build
.
For general information on building Mesa, read the install documentation.
Chat¶
Panfrost developers and users hang out on IRC at #panfrost
on OFTC. Note
that registering and authenticating with NickServ
is required to prevent
spam. Join the chat.
Technical details¶
You can read more technical details about Panfrost here: