HackiOS boots Apple's open-source XNU kernel from iOS 16.5 on Android phone hardware, running the unmodified iOS 16.5 user space on top. It works on a POCO X5 Pro 5G (Snapdragon 778G) via `fastboot boot`, with nothing flashed to storage, or in QEMU on any Linux machine. The lock screen, home screen, Wi-Fi (WCN6750 over ath11k, 55 to 90 Mbit/s), sound, camera and up to 8 CPU cores all work. Cellular and Bluetooth do not work, the phone only discharges under our kernel, and Metal for apps is in progress. No Apple files are redistributed; the iOS 16.5 IPSW is fetched from Apple's own CDN at setup time.
Table of contents
What worksQuick start: QEMU, no kernel buildOn the phone (POCO X5 Pro 5G)Prebuilt boot imageBuilding from sourcePorting to another deviceHow it worksLayoutDebuggingScreenshotsLicensesTeamCommunity take
Updated
88
comments
Reactions are mostly amazed at the technical feat of booting iOS's XNU kernel on cheap Android hardware, but many question the practical value given missing cellular, charging, App Store/FairPlay access, and raise suspicion it's an AI-assisted ('vibe coded') project with an odd crypto funding model.
35% positive
40% mixed
25% skeptical
Deep diveQuestions this post answers
Is it possible to run iOS user space on non-Apple hardware like an Android phone?
Yes. The HackiOS project boots Apple's open-source XNU kernel (version xnu-8796.121.2, from iOS 16.5) on a POCO X5 Pro 5G (Snapdragon 778G) using a custom EFI loader, replacement drivers, a UEFI port, and a Linux Wi-Fi compatibility layer, running the unmodified iOS 16.5 user space including SpringBoard and stock apps entirely in RAM via `fastboot boot`, with no flashing involved. Developers exploring kernel portability and iOS internals can track projects like this on daily.dev.
What hardware features work and don't work when running iOS 16.5 on the POCO X5 Pro 5G under HackiOS?
Working features include the lock screen, home screen, system gestures, Settings/Clock/Calendar/Photos/Notes/Safari apps, the touchscreen, up to 8 CPU cores at 2.4 GHz, the Adreno 642L GPU via Mesa/freedreno, Wi-Fi (WCN6750/ath11k at 55 to 90 Mbit/s), sound, and camera. Cellular, Bluetooth, charging under the custom kernel, full Metal app support, and video/Live Photo recording do not yet work. Anyone evaluating how far a hobbyist kernel port can go can follow progress like this on daily.dev.
How do you get the iOS system image needed to run HackiOS without redistributing Apple's files?
No Apple files ship in either HackiOS repository. Running the project's `ios165/fetch.sh` script downloads the iOS 16.5 IPSW (about 7.4 GB) directly from Apple's own CDN onto your own machine, then extracts what is needed locally, keeping the project itself free of Apple's copyrighted files. Developers navigating licensing constraints around proprietary firmware can find similar setups on daily.dev.
Share this post