« All posts

Engineers Reverse-Engineer a Linux GPU Driver for Apple's M4 in One Month

Two engineers built a clean-room Linux GPU driver for Apple's M4 chip in about a month using AI-assisted reverse engineering, hitting 200fps in Minecraft.

Cody Ho and Niklas built a fully OpenGL ES 3.0 compliant Linux GPU driver for the M4 Mac Mini and MacBook Neo in roughly one month, a task that normally takes years. The work relied on a previously built hypervisor to capture and replay macOS GPU firmware traffic, combined with heavy AI-assisted (Codex) trial-and-error to reconstruct the driver clean-room.

The hardest part was decoding Apple's AGX firmware ABI, which proved substantially more complex than the one Asahi Lina previously reverse-engineered for M1/M2 chips. The team hit major roadblocks capturing clean traces of render work submitted after firmware startup and, especially, of compute workloads — the latter eventually solved by booting into single-user mode and running a minimal Metal program to isolate a pure compute trace.

The resulting driver runs WebGL in Chrome and Firefox and plays Minecraft at 200fps. It isn't ready for end users yet, but all experiments have been published for transparency and verification, marking a notable step toward Linux GPU support on Apple Silicon.

This synthesis was produced from its source by AI; there is no human editor or manual review step. How we work