Building a Linux GPU Driver for the M4 Mac Mini in One Month
Two developers built a fully OpenGL ES 3.0 compliant Linux GPU driver for the M4 Mac Mini in one month via clean-room reverse engineering.
Niklas and the author reverse engineered Apple's AGX GPU firmware ABI and user-space components in about a month, a process that normally takes years, producing an OpenGL ES 3.0 conformant driver fast enough to run Minecraft at 200fps on an M4 Mac Mini. The work was done transparently using hypervisor traces without examining Apple binaries, following clean-room practices, and included a custom shader compiler, command stream builder, and a full Linux kernel driver for the firmware ABI. The A18 Pro firmware ABI proved significantly more complex than the M1's, with 1.5x as many structs and twice as many pointers. All experiments and provenance evidence were published in public agx-re repositories.
- Full OpenGL ES 3.0 driver for M4 Mac Mini built in roughly one month
- AGX firmware ABI reverse engineered from hypervisor traces, clean-room style
- A18 Pro firmware ABI has 1.5x more structs and twice the pointers of M1
- Achieved 200fps Minecraft; Chrome and Firefox WebGL compositing works
- LLM-assisted replay experiments reduced captured state until rebuilt from source
From the original article
15 min read at codyho.devPrevious blog post: https://codyho. dev/blog/hypervisor-macbook-neo/ TL;DR: Niklas and I built a fully OpenGL ES 3. 0 compliant GPU driver for the M4 Mac Mini and MacBook Neo in about a month, a process which normally takes
By ADevWithAnIdea · codyho.dev
A short excerpt; the article and its images belong to the publisher. Summary, key facts and assessment above are AI-written from the article and can be wrong.