Apple Silicon

Basic OpenGL ES Compute Shader Support Begins Working For The Apple GPU Linux Driver

The open-source developers working on developing the Rust-written Linux DRM kernel driver for Apple M1/M2 graphics as well as the Mesa AGX Gallium3D driver in user-space have now managed to successfully run a basic OpenGL ES 3.1 compute shader on the hardware with this open-source driver stack.

The developers involved in bringing up the Direct Rendering Manager kernel driver and OpenGL Gallium3D driver (there's also a work-in-progress Vulkan driver) had been working on OpenGL 2.1 and OpenGL ES 2.0 but in inching forward developer Asahi Lina has managed to run an OpenGL ES 3.1 compute shader test successfully.

Basic compute works!!! And it even worked on the first try for the kernel side!!!!!! Rust is awesome!! 🚀🚀🚀

There's just one little problem... we're back to waiting for the GPU to power off after every command! This time I'm 99% sure it's a cache coherency issue... ^^; pic.twitter.com/cAKSfPIH2U

— Asahi Lina / 朝日リナ // @ [email protected] (@LinaAsahi) January 14, 2023

She is celebrating this weekend that basic compute has begun working with this open-source driver. However, there still are issues abound. In particular, the GPU still needing to be powered off after every command. Progress is being made though in sorting out that notable gaping issue.


Reverse-engineering and open-source driver writing for the Apple M1/M2 graphics continues.


It still will likely be some time before the Rust-written kernel driver is upstreamed and the Mesa AGX code ready for major gaming, but this open-source Apple GPU driver effort continues looking bright for 2023.