📈 GH Trending Explorer 🎲 Surprise me

← all repos

Snapintosh / Snapintosh

git clone https://github.com/Snapintosh/Snapintosh.git

EL2 hypervisor and toolchain that boots macOS on the ASUS A16 (Snapdragon X2 Elite), with an Adreno Metal/IOGPU stack

+514
stars, 24h · #49
+616
stars, 7 days · #357
+616
stars, 30 days · #1,342
616
★ total · +616% this week
37
forks · 4 open issues

Star history (as recorded here)

2026-10-22 · 102 ★ 2026-10-23 · 616 ★
LanguagePython
License—
Created2026-10-22 (1d ago)
Last pushtoday
Watchers6
OwnerOrganization

Links

README excerpt
# Snapintosh
Snapintosh boots Apple's macOS 27 (build 26A428) on an ASUS Zenbook A16 laptop
with a Qualcomm Snapdragon X2 Elite (X2E-96-100). It is an EL2 monitor
(hypervisor) and the toolchain around it. The monitor runs Apple's stock
kernelcache (the J700/T8140 kernel) unmodified by default. It supplies the
platform contracts that the kernel expects from Apple silicon: the SPTM and TXM
monitor calls, translation of the kernel's 16 KiB page tables, and the Apple
devices the kernel looks for.
Graphics run on the laptop's own Adreno X2-90 GPU through a driver stack
written for this project:
- **AdrenoMetal.bundle**: a Metal driver plug-in.
- **AdrenoX2**: an IOGPU kernel extension, with **AdrenoDisplay** driving the
 internal panel.
- **air2ir3**: a shader compiler that translates Apple's AIR (Metal's IR) into
 Mesa's ir3 for the Adreno.
There is no software, CPU or paravirtual rendering path.
The project also includes an I2C-HID keyboard and touchpad driver (SnapI2CHID),
native QCC2072 Wi-Fi work, and NVMe storage through an emulated Apple storage
controller.
Snapintosh is used together with q1n1, a
UEFI EL2 proxy forked from Asahi Linux's m1n1. q1n1 takes the machine at EL2
after UEFI and serves m1n1's proxy protocol over USB-C to a Mac host, which
drives Snapintosh from there.
## Status
This is experimental software, written for one laptop model.
| Area | State |
| --- | --- |
| macOS desktop on the A16 | Boots to the desktop with GPU acceleration. Rendering is correct: the pixel checks across the desktop test scenes pass. |
| Smoothness | In progress. Interaction is usable but not yet smooth. The target is a steady ~60 Hz first and the panel's 120 Hz later. |
| Input | The built-in keyboard and touchpad work, including trackpad gestures, Mission Control and app switching. |
| Wi-Fi (QCC2072) | Scanning, a WPA2 connection, DHCP and ping work through a host-proxy harness driven from the Mac. Joining from the macOS Wi-Fi menu does not work yet. |
| Storage | macOS is installed on, and boots from, the internal NVMe. |
| Other hardware | Audio, cameras, Bluetooth, sleep and external displays are not supported. |
docs/STATUS.md has the details, the known issues and the
roadmap.
## Required hardware
- An **ASUS Zenbook A16 with the Snapdragon X2 Elite X2E-96-100** (UX3607OA).
 Nothing else is supported. The monitor, device tables, clocks and register
 addresses are specific to this machine.
- A **Mac host** running macOS 27, connected to the A16 over USB-C. q1n1 brings
 up a USB NCM network link on that cable, and every boot, upload and log
 capture goes over it.
- AC power is strongly recommended. The tools refuse to boot or write the SSD
 below a battery threshold.
## Architecture in brief
 [code] 
 [code] 
docs/ARCHITECTURE.md explains each layer.
## Repository layout
| Path | Contents |
| --- | --- |
| `compat/` | the EL2 monitor: SPTM/TXM contracts, CPU, interrupt, timer and device emulation, the GPU ring and SMMU mediation, the NVMe backend |
|