Panfrost¶
The Panfrost driver stack includes a non-conformant OpenGL ES implementation for Arm Mali GPUs based on the Midgard and Bifrost microarchitectures. The following GPUs are currently supported:
Product |
Architecture |
OpenGL ES |
OpenGL |
---|---|---|---|
Mali T720 |
Midgard (v4) |
2.0 |
2.1 |
Mali T760 |
Midgard (v5) |
3.0 |
3.1 |
Mali T820 |
Midgard (v5) |
3.0 |
3.1 |
Mali T860 |
Midgard (v5) |
3.0 |
3.1 |
Mali G72 |
Bifrost (v6) |
3.0 |
3.1 |
Mali G31 |
Bifrost (v7) |
3.0 |
3.1 |
Mali G52 |
Bifrost (v7) |
3.0 |
3.1 |
Other Midgard and Bifrost chips (T604, T620, T830, T880, G71, G51, G76) may
work but may be buggy. End users are advised against using Panfrost on
unsupported hardware. Developers interested in porting will need to allowlist
the hardware (src/gallium/drivers/panfrost/pan_screen.c
).
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.
Work to enable OpenGL ES 3.1 and OpenGL 3.1 is on-going for architectures v5 and later (Mali T760 and newer).
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 must be
additionally built with kmsro support which supports a number of display
controllers commonly 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 with meson like meson . build/ -Ddri-drivers= -Dvulkan-drivers=
-Dgallium-drivers=panfrost,kmsro -Dllvm=false
for a build directory
build
.
Building for Android via the legacy Android.mk
system is not officially
supported but reportedly works. Your mileage may vary.
For general information on building Mesa, read the install documentation.
Chat¶
Panfrost developers and users hang out on IRC at #panfrost
on Freenode.