Cody Ho and collaborator Niklas have built a fully OpenGL ES 3.0 compliant GPU driver for the M4 Mac Mini and MacBook Neo in approximately one month, according to Ho’s blog post. The driver enables Chrome and Firefox to run WebGL with working compositing, and performs well enough to run Minecraft at 200 frames per second.

The project involved reverse engineering Apple’s GPU architecture, known as the AGX, including its firmware and user-space components. According to Ho, GPU driver development typically requires years of work, but the team compressed this timeline significantly using a hypervisor-based reverse engineering approach.
The work was divided into kernel and user-space components. The kernel driver interfaces with GPU firmware running custom software called RTKit, while the user-space driver handles shader compilation and GPU command buffers. Ho notes that Apple’s firmware architecture is unusually complex, featuring shared memory structures where firmware-owned and host-controlled fields are interleaved, making reverse engineering particularly challenging.
The team reverse-engineered the M4, A18 Pro, and partially the M5 architectures using live probing to discover hardware features. Ho explains they did not examine Apple binaries directly, instead relying on hardware traces from the hypervisor and custom-built shaders. They documented their methodology to verify the clean-room nature of their reverse engineering process.
One major obstacle involved capturing compute workloads. Compute work typically executes only after extensive render work in macOS’s normal operation, making it difficult to isolate for study. Ho resolved this by booting into single-user mode to eliminate render work, then capturing a minimal compute trace at the earliest possible moment Metal became available.
Ho states the driver code is not yet ready for end users but the team is working toward public release. The project demonstrates that accelerated GPU driver development is possible through systematic reverse engineering, though Ho acknowledges the A18 Pro firmware ABI is significantly more complex than earlier Apple Silicon generations.
Key facts
- A fully OpenGL ES 3.0 compliant GPU driver was built for M4 Mac Mini and MacBook Neo in one month
- The driver enables WebGL support in Chrome and Firefox with working compositing
- The driver can run Minecraft at 200 fps, demonstrating performance viability
- The reverse engineering process studied hardware traces and custom shaders without examining Apple binaries
- Kernel driver complexity increased significantly from M1/M2 to A18 Pro generation
- The work normally requires years but was compressed to weeks using hypervisor-based reverse engineering
