The Mali-G57 GPU part of the Valhall family, and found in several Arm processors such as MediaTek MT8192 and MT8195 SoC powering some Chromebooks, is now supported by the Panfrost open-source driver with a fully-conformant OpenGL ES 3.1 implementation.
Last year, Collabora updated Panfrost with support for OpenGL ES 3.1 on Midgard (Mali T760 and newer) and Bifrost (Mali G31, G52, G76) GPUs, and also announced having started working on Valhall GPUs. One part of the work was done in the summer of 2021 with some reverse-engineering work on Mali-G78 GPU’s instruction set, and this has culminated with a fully-conformant OpenGL3.1 for Mali-G57 GPU.
Interestingly, it’s not been released by Collabora directly, but through an organization called “Software in the Public Intenerest, Inc.” (or SPI for shorts) which happens to be a non-profit organization incorporated on June 16, 1997, and described as:
a non-profit corporation registered in the state of New York founded to act as a fiscal sponsor for organizations that develop open source software and hardware. Our mission is to help substantial and significant open source projects by handling their non-technical administrative tasks so that they aren’t required to operate their own legal entity.
Alyssa Rosenzweig, a software engineer for Collabora, has written a post going into some of the technical aspects of the OpenGL ES 3.1 Valhall implementation in Panfrost, and the challenges encountered during development. We notably learn that Valhall is based on Bifrost, so they were able to reuse some of the code, but Valhall hardware is optimized for Vulkan and some of the features were broken, for instance, Collabora’s implementation of transform feedback, a deprecated feature to capture vertex shader outputs into an application buffer, which had to be rewritten to make use of compute shaders.
The main takeaway is that with Mesa 22.2 and an appropriate kernel, accelerated graphics will work out of the box on Linux on MediaTek Chromebooks with the MT8192 and MT8195 system-on-chips.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.