- Pin the runner to macos-26 and select Xcode by input (default 26.6) instead of the moving macos-latest label. - Pass the workflow token to the kernel build so the DriverKit header listing is not rate limited. - Install lld (no longer part of the llvm formula; the payload links the panic screen with ld.lld) and keep Homebrew LLVM off PATH, as on the development machines. - Key the concurrency group on ref, device repository, device ref and defconfig, and stop cancelling running builds. - Check the inputs, the defconfig, the Xcode path and the platform seed secret before installing or building anything. - Read the trust cache and Data seed URLs from the event payload and mask them, so they do not appear in public logs. - Drop the explicit fetch; the build step fetches the references it needs and no longer rewrites the device unixnu.lock. - Let seed-data-grow.py find its submodule and build directory. - Default to the kernel step and offer kernel plus payload without the userdata image. - Upload the logs on failure, name artifacts per board and attempt, leave the skip-setup seed copy out of the payload artifact and store userdata uncompressed. - Pin the actions to commits of their Node 24 releases and run steps with bash -eo pipefail.
English | 简体中文
UniXNU
🎉 News: The native Metal GPU driver is now fully working on the Xiaomi Pad 6S Pro (sheng). The render server composites the system UI through the Adreno 740, and listed processes get their own Metal devices. See the Adreno 740 driver documentation.
An independent project to run iOS and macOS on non-Apple ARM64 hardware through UEFI.
Documentation
The documentation is at unixnu.com. It covers the boot chain, the build driver, device porting, driver development, the 4 KiB XNU page patches, boot arguments and per-device notes.
Repositories
| Repository | Contents |
|---|---|
| UniXNU | Build driver, UEFI boot manager, module submodules and patches |
| UniXNU-sheng | Device repository for the Xiaomi Pad 6S Pro |
| uefi-sheng | UEFI firmware port for the Xiaomi Pad 6S Pro |
Drivers and kits are independent public repositories under the UniXNU organization, included as submodules. Clone with --recurse-submodules, or run git submodule update --init --recursive.
Device repositories use the same layout as this repository. Their modules override modules with the same name, and their package/ becomes a kit in the build tree.
Contributing
Read CONTRIBUTING.md for the repository scope, the development workflow, the commit format and the documentation rules.
Private blobs
Do not add Apple IPSW files, kernelcaches, disk images, trust caches, Data seeds or vendor firmware to this repository. Keep them in a local cache or external storage.
License
BSD-2-Clause-Patent. See LICENSE.