The short version
What HackiOS is and where it runs.
HackiOS starts Apple's open source iOS kernel on Android phone hardware and runs Apple's own iOS 16.5 on top of it, unchanged.
It runs on a POCO X5 Pro 5G, a Xiaomi phone with a Snapdragon 778G, and in QEMU, a free program that pretends to be a phone on a regular Linux computer.
Nothing gets installed over Android. The whole system lives in the phone's memory, so a restart puts the phone back in Android.
A group of developers called OOSEX GANG made the code public on GitHub on October 22, and it's a research project, not something to use as your daily phone.
See the code on GitHubWhat works
From the project's own list, on the phone.
Swipe to unlock, both home screen pages with every icon, the stock iOS 16 wallpapers and widgets. It reaches the lock screen in about 20 seconds.
Swipe up for home and the app switcher, swipe from the edge to go back, and Control Center.
Settings, Clock, Calendar, Photos, Notes and Safari, among others.
You join Wi-Fi from Settings and Safari loads real websites, at 55 to 90 Mbit/s.
The Camera app takes photos with the front and back cameras, with preview and focus.
The phone's own Adreno graphics chip draws the screen, and the speakers and main microphone work.
What doesn't work yet
Also from the project's list. It's early.
There's no cellular and no Bluetooth.
App Store content and Apple ID sign-in don't work, because the phone has no Apple security chip.
While HackiOS runs, the battery only goes down.
Video and Live Photo recording don't work yet. Photos do.
Each run is a timed test. After a set time it stops and hands the developers a log of what happened, so they can fix the next thing.
How it gets real iOS onto the phone
The part that makes it different.
Apple publishes the kernel of iOS, the core that every other part runs on, as open source. HackiOS starts that kernel on the POCO's chip.
The parts Apple keeps closed, like the drivers for the screen, touch, Wi-Fi and sound, are replaced with the team's own versions, along with their own loader to start it all.
Everything above that is Apple's iOS 16.5. The project says the iOS programs and frameworks aren't changed by a single byte.
No Apple files are in the code on GitHub. When someone sets it up, it downloads iOS 16.5 straight from Apple's servers to their own computer.
Others already got it running
Developers outside the team, in the project's pull requests.
Within a day of the release, a developer tested it on a MacBook with an M3 Max chip and ran full 20 minute iOS 16.5 sessions in QEMU, then sent fixes back to the project.
Another developer confirmed it on a Linux computer running NixOS, where iOS booted to its home screen.
In its first two days it passed 1,000 stars on GitHub and 500 points on Hacker News.
Read the macOS pull requestWorth knowing
Before you go looking.
HackiOS works on one phone model today, and setting it up means unlocking that phone's bootloader. This page doesn't cover setup.
The team's website also sells a crypto token. It isn't part of the code and gives no rights to the app, so this page only links the code on GitHub.
Posts and coverage
What we read for this page, newest first.
macOS and NixOS test reports
Outside developers running HackiOS in QEMU on a Mac and on NixOS, with their fixes.
github.comHacker News discussion
Run full iOS 16.5 firmware on Android Devices, with over 500 points.
news.ycombinator.comHackiOS kernel repo
The kernel changes, loader, Wi-Fi and the full list of what works.
github.comHackiOS userland repo
The scripts that take iOS out of Apple's download and the graphics work.
github.com