Early Gallium3D Work Has Begun Around Apple's M1 GPU With New "AGX" Driver

Written by Michael Larabel in Mesa on 2 May 2021 at 06:49 PM EDT. 28 Comments
Alyssa Rosenzweig has continued her work reverse engineering and understanding Apple's M1 GPU with the ultimate goal of writing open-source OpenGL and Vulkan support for the Apple M1 GPU on Linux.

Last month she began the early stages of a graphics compiler for the Apple M1 to begin tackling shaders with what information has been reverse engineered so far. Since then she has begun an early stage Gallium3D driver for the Apple M1 and beginning to focus on OpenGL 2.1 and OpenGL ES 2.0 specifications.

It's in a state where at least the Gallium3D code can handle glxgears and some glmark2 scenes on the Apple M1. In fact today she opened a merge request as the initial push of this "AGX" driver. This AGX Gallium3D driver was originally based on the noop Gallium3D driver with some code derived from the work on the Panfrost Gallium3D driver for Arm Mali.

While the Apple M1 graphics processor has removed some legacy functionality not needed for Apple's Metal API, some undocumented functionality has been found for features still supported by the GPU but not used by Metal. Index buffers and primitive types are among some of the functionality retained by the Apple M1 GPU for being able to support older APIs.

The latest reverse engineering work around Apple's M1 GPU can be found via Alyssa's blog. Long story short, progress is being made and the "AGX" Gallium3D driver is underway for being able to support basic OpenGL on the Apple M1 initially with a focus on OpenGL 2 / GLES2. But still to be written is a Linux kernel DRM driver for the M1 GPU and obviously a Vulkan driver is important for 2021 and beyond.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week