Building a Linux GPU Driver for the M4 Mac Mini in One Month
10 hours ago
- Built a fully OpenGL ES 3.0 compliant GPU driver for M4 Mac Mini and MacBook Neo in about a month.
- Reverse engineered Apple's AGX GPU firmware ABI and user-space components using live probing and hypervisor traces.
- Developed a Linux kernel driver and user-space driver with a custom IR/shader compiler.
- Achieved 200fps in Minecraft, demonstrating the driver's performance.
- Used LLM agents (Codex, Claude) for reverse engineering and development, with systematic debugging via hypervisor.
- Overcame challenges including compute workload capture, partial renders, and firmware ABI complexity.
- Collaboration with Niklas: Mesa-first approach led to faster progress than hardware-first approach.
- Future goals include Vulkan, OpenGL 4.6, OpenCL, Direct3D, ray tracing, and upstreaming the driver.