Xiaomi Mi MIX 2S (polaris)
polaris is the Xiaomi Mi MIX 2S with the SDM845 SoC, Snapdragon 845 and Adreno 630. The port below is an independent community project. The UniXNU organization does not maintain it.
| Repository | Maintainer | State |
|---|---|---|
| UniXNU-polaris | luuu20309 | Platform bring-up |
State
The platform stage is verified on hardware (user-approved temporary boots, 2026-10-24): the Renegade edk2-msm polaris firmware boots, UniXNU runs from an ESP flashed to userdata, DarwinBoot hands off with the real 1080x2160 GOP and the upper-bank memory window, and the source kernel executes through arm_init, the scheduler and timer interrupts, the corecrypto FIPS POST, bsd_init and IOKit to the designed no-root boundary (Failed to mount root device). The port has a polaris platform ADT (GICv3 at 0x17a00000/0x17a60000, virtual-timer PPI 19, 19.2 MHz timebase, PSCI SMC, 6/8 GiB upper DDR bank, 4x A55 + 4x A75 prefix), an ArmCpu override that validates the timer PPI from the ADT, a DarwinBoot allocation-window override, a fail-closed CPU prefix check, and host/EFI/kernel/QEMU CI all green. Bring-up also fixed two UniXNU-wide bugs: the BCM2837 fixed panic-log address (0x3c0fc000) that bus-errors on any non-RPi hardware (now routed through the device-tree probe), and the FIPS POST HMAC invalidation after post-link kernel patching. No userland, root filesystem, touch, display or GPU on this tree yet.
Heritage from the retired ABL-shim chain
The same maintainer's earlier project (ios16_on_polaris_mix2s, a fork of dipa-studio/ios-sweet on XNU 8796 / iOS 16) temporarily booted to the iOS 16 lock screen with user-confirmed one- and two-finger touch: a Synaptics S3330 on GPIO33/34 bit-bang I²C with GPIO99 reset release, bounded contiguous F12 frame reads and a conservative state machine, plus PSCI CPU_ON/SGI proven for CPU1-3 with cpus=4. That evidence belongs to the retired tree and does not transfer with the kernel baseline; the measured board constants are what this port started from. The complete iteration history, every touch diagnostic stage, the withdrawn GPU command-db map and the evidence classes of each result, is preserved in the device repository's HISTORY.md.
Build
Host checks (Python 3.11+, clang, lld):
python3 scripts/check-host.py
python3 scripts/make-polaris-adt.py --output out/polaris.adt
python3 scripts/check-cpu-prefix.py out/polaris.adt --cmdline "-v serial=3 cpus=1"Device repository integration:
python3 ../UniXNU/unixnu defconfig polaris_defconfig -D . --out out/driver
python3 ../UniXNU/unixnu status -D . --out out/driverThe source-kernel platform milestone builds on macOS with Xcode via scripts/build-platform-kernel.py, or through the repository's Darwin 23 platform kernel workflow. The full prelink, firmware, payload and userdata stages are intentionally not wired: no polaris UEFI port exists and the original-component prelink target is undecided.