iOS 16.7.16 running natively on Snapdragon 8 Elite Gen 5 hardware, booted from RAM.
Warning
Research project, not a daily driver. You can lose data or damage your phone, and you are responsible for what you run. Back up everything first.
A self-built XNU kernel with native drivers for the Xiaomi 17 Pro Max, running the unmodified userland of an iPhone X. There is no emulator and no virtual machine: iOS talks to the hardware through drivers compiled into the kernel.
Normal testing writes nothing to the phone's partitions. The kernel starts with fastboot boot, lives in RAM, and a restart returns to Android.
Percentages are the author's estimates of how far each part is from working as it does under Android. They are not measurements.
Legend: 🟢 works · 🟡 partly works · 🟠 in progress · ⚪ not started
| Component | Progress | Status | Notes |
|---|---|---|---|
| Boot, lock screen, home screen, built-in apps | ████████░░ 80% |
🟢 | Slow boot, occasional UI freezes |
| Touch, power and volume buttons, brightness | █████████░ 90% |
🟢 | |
| Display and GPU (Adreno 840, Metal) | ███████░░░ 70% |
🟡 | Whole UI composited by the GPU. Known glitches: text, pink Reachability, clipped icons |
| CPU (8 cores, frequency scaling, idle) | ████████░░ 85% |
🟢 | |
| Battery gauge and charging | ███████░░░ 70% |
🟡 | Real gauge values, power saving barely started |
| Thermal management | █████░░░░░ 50% |
🟡 | Chip sensors only, no skin temperature model |
| App Store apps | █░░░░░░░░░ 10% |
🟡 | Most do not open: they rely on Apple's hardware security |
| Component | Progress | Status | Notes |
|---|---|---|---|
| Wi-Fi: chip and firmware (WCN7880) | ███████░░░ 70% |
🟡 | Firmware boots. About one boot in five dies early, and it often hangs on the association request |
| Wi-Fi: scan | ███████░░░ 70% |
🟡 | Works when the firmware survives. 2.4 GHz with the phone's own board file, 5 GHz not heard yet |
| Wi-Fi: connection and data | ████░░░░░░ 35% |
🟠 | WPA2 connects on about one boot in ten. DHCP address and received traffic seen on a few boots. Ping and DNS not proven yet |
| Wi-Fi: Settings panel and status icon | ░░░░░░░░░░ 0% |
⚪ | |
| Modem firmware | ███████░░░ 70% |
🟡 | Boots fully with its services, all writes kept in RAM |
| 4G/5G, calls, SMS, SIM | ░░░░░░░░░░ 0% |
⚪ | Not connected to iOS yet |
| Bluetooth | ░░░░░░░░░░ 0% |
⚪ | |
| USB | ██░░░░░░░░ 20% |
🟠 | Live kernel log and remote restart. No data or networking yet |
| NFC, GPS | ░░░░░░░░░░ 0% |
⚪ |
| Component | Progress | Status | Notes |
|---|---|---|---|
| Speakers | ███████░░░ 75% |
🟢 | Plays sound through the ADSP and CS35L43 amplifiers, one crash seen under load |
| Microphones, earpiece | ░░░░░░░░░░ 0% |
⚪ | |
| Vibration motor | ░░░░░░░░░░ 0% |
⚪ | |
| Cameras | ░░░░░░░░░░ 0% |
⚪ | Hardest part: iOS expects Apple's ISP |
| Motion and light sensors | ░░░░░░░░░░ 0% |
⚪ | |
| Fingerprint reader | ░░░░░░░░░░ 0% |
⚪ | |
| Rear display | ░░░░░░░░░░ 0% |
⚪ |
Nothing here is a ready-to-flash image. You build the kernel and the root filesystem yourself, from your own files. See BUILDING.md.
You need a Xiaomi 17 Pro Max with an unlocked bootloader and root, a Mac, and your own IPSW for the iPhone X.
| Path | Contents |
|---|---|
xnu/patches/ |
Patches for xnu-8796, applied in order |
wsl/ |
Drivers compiled into the kernel: GPU, display, touch, audio, storage, battery and more |
mac/ |
Boot, live log, relink and test tools for macOS |
tools/ |
Boot image, device tree, trust cache and firmware tools, GPU tests, Wi-Fi driver adaptation |
shim/ |
The small loader started by fastboot boot |
bootmgr/ |
Optional boot menu. It writes to the boot_b partition, read its README first |
docs/, device/ |
Technical notes (in Chinese and English) |
- Apple's iOS system files (IPSW, shared cache, SDK)
- Qualcomm and Xiaomi firmware
- Partition backups, logs and anything else read from a phone
Firmware is read from your own phone at run time, and modem writes never leave RAM.
Built on the work of others:
- Data A Live by ShueiTsuki: the Xiaomi 17 Pro port this project continues. Kernel drivers, GPU work and most of the tooling come from it.
- ios-sweet and ios-fuxi: the approach and the early kernel patches.
- UniXNU: 4K-page kernel, storage driver, NativeAdreno, NativeMetal, ArmSmmu4K, Ath12kWifi and Qualcomm components.
- Mesa (Turnip) and metal2vulkan.
- The Linux kernel's Qualcomm drivers, including ath12k.
Kernel patches and kernel drivers: APSL 2.0. Other code and documentation: MIT. Third-party files keep their own licenses. Full terms in LICENSE.
Not affiliated with Apple, Xiaomi or Qualcomm. All trademarks belong to their owners.