No description
  • C 52.5%
  • C++ 25.3%
  • Python 8.8%
  • Objective-C 5.8%
  • LLVM 4.5%
  • Other 3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-05 19:35:38 +03:00
ci Darwin, not iOS: the name in the sources, the documentation, the scripts and the files 2026-10-29 15:56:40 -04:00
configs Framebuffer: the display interface's registers read only on a SoC known to have them there 2026-11-05 13:03:38 +00:00
devices redwood at af52dfb: its GPU status says what the window server does through Metal 2026-11-04 10:41:36 +00:00
docs Merge remote-tracking branch 'origin/main' into port/lemonades 2026-11-05 18:49:04 +03:00
drivers lemonades: guard native GPU, storage and input integration hooks 2026-11-05 19:35:38 +03:00
hakios-metal 2.3.4: the documents say that hakios-metal is in this tree 2026-11-05 13:09:35 +00:00
prebuilt xnuloader: its log written under U-Boot too, and a download the host gave up on no longer hangs it 2026-10-29 07:57:33 -04:00
qemu Darwin, not iOS: the name in the sources, the documentation, the scripts and the files 2026-10-29 15:56:40 -04:00
socs The SoC, device and UEFI repositories are their own: hakios-sc7280-common, hakios-redwood, hakios-uefi 2026-10-27 15:19:42 -07:00
sysimage Darwin, not iOS: the name in the sources, the documentation, the scripts and the files 2026-10-29 15:56:40 -04:00
tools Merge remote-tracking branch 'origin/main' into port/lemonades 2026-11-05 18:49:04 +03:00
userland CoreAnimation's run-time pipelines get the nearest variant: the red wallpaper and the white status bar were one bug 2026-11-05 13:38:11 +00:00
wifi/lx Darwin, not iOS: the name in the sources, the documentation, the scripts and the files 2026-10-29 15:56:40 -04:00
xnu lemonades: guard native GPU, storage and input integration hooks 2026-11-05 19:35:38 +03:00
xnu-deps The kernel builds on a Mac with only the command-line tools: migcom from usr/libexec, nproc and python shims, make 3.81's lines judged 2026-10-31 12:15:54 -07:00
xnuloader xnuloader/mkidentity.sh: lzfse built by its default target, which is the only one it has 2026-11-03 10:14:37 +00:00
.gitattributes tools: find the AOSS mailbox in either kind of device tree; no carriage returns in boot-args 2026-10-26 22:55:12 +02:00
.gitignore The tree keeps hakios-metal/: new files in it are no longer ignored 2026-11-05 13:04:39 +00:00
CHANGELOG.md Docs: why the shaders were wrong, the fingers' numbers, the day's changelog 2026-11-05 14:59:54 +00:00
COMMUNITY.md Darwin, not iOS: the name in the sources, the documentation, the scripts and the files 2026-10-29 15:56:40 -04:00
COMPLIANCE.md Licenses: Turnip, AdrenoMetal, metal2vulkan, the plug-in's origin; a binary built with M2V=1 is to verify 2026-11-04 10:37:07 +00:00
CONTRIBUTING.md Licenses: Turnip, AdrenoMetal, metal2vulkan, the plug-in's origin; a binary built with M2V=1 is to verify 2026-11-04 10:37:07 +00:00
LEGAL.md Licenses: Turnip, AdrenoMetal, metal2vulkan, the plug-in's origin; a binary built with M2V=1 is to verify 2026-11-04 10:37:07 +00:00
LICENSE Darwin, not iOS: the name in the sources, the documentation, the scripts and the files 2026-10-29 15:56:40 -04:00
LICENSE.APSL The whitelist lets the Makefile, the licenses, NOTICE and the device layer in 2026-10-25 14:25:56 -07:00
Makefile Darwin, not iOS: the name in the sources, the documentation, the scripts and the files 2026-10-29 15:56:40 -04:00
mkxnuimg.py Drivers chosen by the defconfig, repositories per SoC and device, HakiOS UEFI, documentation 2026-10-27 15:09:29 -07:00
NOTICE The Metal engine built from this tree, on any machine 2026-11-05 13:03:38 +00:00
README.md 2.3.4: the documents say that hakios-metal is in this tree 2026-11-05 13:09:35 +00:00
README.uk.md 2.3.4: the documents say that hakios-metal is in this tree 2026-11-05 13:09:35 +00:00
README.zh.md 2.3.4: the documents say that hakios-metal is in this tree 2026-11-05 13:09:35 +00:00
THIRD_PARTY_LICENSES.md The Metal engine built from this tree, on any machine 2026-11-05 13:03:38 +00:00
VERSION 2.3.4: the documents say that hakios-metal is in this tree 2026-11-05 13:09:35 +00:00
xl Darwin, not iOS: the name in the sources, the documentation, the scripts and the files 2026-10-29 15:56:40 -04:00
xnu-build.sh Drivers chosen by the defconfig, repositories per SoC and device, HakiOS UEFI, documentation 2026-10-27 15:09:29 -07:00
xnu-env.sh Darwin, not iOS: the name in the sources, the documentation, the scripts and the files 2026-10-29 15:56:40 -04:00

HakiOS

English · 中文 · Українська

Apple's open-source Darwin kernel (XNU, xnu-8796.121.2) on Android phones, the way Android is Linux on phones: a boot loader of its own, drivers of its own, a configuration system and a version of its own. The same kernel runs in QEMU with nothing of Apple's and nothing of any phone's (make qemu-open). A research bench, not a ROM: by default it runs from RAM, and a reboot gives the phone back to Android.

Documentation: docs/, and the site, hackios-web.vercel.app.

News, 4 November 2026: on the POCO X5 Pro 5G the window server draws through Metal on the Adreno 642L, two ways. hakios-metal: page swipes 110 to 115 frames a second, Settings' scroll 118, the home button 106, rendering at 828x1792 stretched to the panel; 101, about 90 and about 90 at the full 1125x2436. UniXNU's Metal on Vulkan: swipes 50 to 57, scroll 41. The panel is 120 Hz, and 120 frames a second has not been reached. Metal on the Adreno, the measurements.

Start with Getting started, On the phone or Port a device. What works, part by part: the documentation's front page.

Repositories

Repository Contents
hakios-xnu-kernel common: the kernel port, every common driver, the loader, user space, the tools, this documentation, and devices/qemu
hakios-metal/ Metal's command model on the Adreno, through the kernel's GPU driver
hakios-sm7325 POCO X5 Pro 5G: its defconfig, status, UEFI platform, firmware script, and its SoC's layer (Qualcomm SC7280 family)
hakios-mt6768 Infinix Hot 20 (MediaTek Helio G85): an experimental port with its own loader. Not in this repository's manifest
hakios-uefi the firmware that starts the loader: Mu-Silicium with HakiOS's boot path, banner and name, and HakiOS's U-Boot
hackios-web the website
hackios-xnu-userland old: a pointer kept for its links. User space is userland/ here

How they fit: the repositories.

What you bring, and what is never here

Nothing of Apple's and no vendor's firmware is in these repositories. The Darwin user space, if you want it, you lay out yourself from an IPSW you get yourself, and the firmware comes off your own phone; nothing is downloaded for you, decrypted or circumvented. Apple's services (activation, Apple ID, iCloud, the App Store) are not supported and not a goal. What is in the repository, and what never is.

Contributing

See CONTRIBUTING.md and COMMUNITY.md.

The XNU patch and the files derived from it are under the Apple Public Source License 2.0 (LICENSE.APSL), the rest under MIT (LICENSE), as the file headers say. Third parties: NOTICE, THIRD_PARTY_LICENSES.md, COMPLIANCE.md. What is and is not distributed: LEGAL.md. None of this is legal advice.

HakiOS is an independent research project. It is not affiliated with or endorsed by Apple; "Darwin", "iPhone", "XNU" and "Apple" are named only to describe what the code works with. If you believe a file here infringes anyone's rights, open an issue and it will be removed.

Team

hakios is an experimental project focused on bringing darwin to android hardware. our goal is to make hakios free and accessible to everyone.

@oodze - founder, @netusd - advertising / ceo-dev, @wannqn - dev, @hxfuxyyXD - dev, Rhaenja Hun(杭润嘉) - developer / sponsor

tym sicilium for the sources!