We first wrote about Panfrost open-source Arm Mali GPU driver getting initial support for Mali-G31 Bifrost GPU in late April, when engineers at Collabora managed to run some basic demos.
Progress has been fast-paced as the company has now implemented support for all major features of OpenGL ES 2.0 and some features of OpenGL 2.1. That means hardware-based on Arm Mali-G31 GPU such as ODROID Go Advance (used for testing) can run Wayland compositors with zero-copy graphics, including GNOME 3, every scene in glmark2-es2 benchmarks, and some 3D games such as Neverball. All without any binary blobs.
The company also claims to support hardware-accelerated video players mpv and Kodi. The way it should work is that while Panfrost driver renders the user interface, Amlogic open-source video decoder developed by BayLibre handles hardware video decoding.
All changes are already included in upstream Mesa with no out-of-tree patches required, and Bifrost support can be enabled using
PAN_MESA_DEBUG=bifrost environmental variable.
There are many other hardware platforms with SoCs based on Mali-G31 GPU besides Rockchip RK3326 powered ODROID GO Advance game console, including Amlogic S905X3/S905D3 SBCs such as ODROID-C4 or Khadas VIM3L, some Allwinner H313/H616 powered TV boxes, and plenty of recent Amlogic based TV boxes including SDMC DV8919 hybrid TV box or Google ADT-3 developer kit.
Mali-G31 GPU is not the only Bifrost GPU integrated into Arm SoCs, and processors with Mali-G3x, Mali-G5x, or Mali-G7x GPUs will eventually be supported. Panfrost driver has also been compatible with Midgard GPUs such as the Arm Mali-T860MP4 GPU found in Rockchip RK3399 processor for a while.