Show HN: Kakehashi – Experimental userspace to run macOS binaries on Linux ARM
Article URL: https://github.com/wie-project/kakehashi Comments URL: https://news.ycombinator.com/item?id=49145937 Points: 172 # Comments: 35
Kakehashi is an experimental userspace project that enables running macOS binaries on Linux ARM64 systems. It functions as a translation layer, allowing users to interact with macOS tools natively without the need for JIT compilation or instruction emulation. The project requires a fixed guest filesystem root, the "bottle," which contains all necessary native macOS binaries.
To set up Kakehashi, users must first transfer the core system directories from their macOS 26+ installation into the host bottle directory. This includes essential tools like rm, zsh, and codesign, as well as specific dynamic libraries like libpcre.0.dylib and libiconv.2.dylib. The project also involves installing the Xcode Command Line Tools to bootstrap the environment further.
Once the initial setup is complete, Kakehashi leverages the Apple CLT, which includes the necessary development tools such as clang, git, and the SDK. This setup allows guest code to run natively on the aarch64 architecture, with only a minimal tax paid at the boundary for syscalls, threading, and fault handling.
Kakehashi supports a wide range of macOS features, including full curl functionality, Apple's Security.framework, Git LFS/svn integration, graphical user interfaces, and codesigning capabilities. This ensures that guest applications can run with a near-identical experience to their native macOS counterparts.
The project emphasizes clean-room development, meaning it is not derived from Darling and does not incorporate any proprietary Apple code. This approach ensures that Kakehashi operates on a foundation of open-source principles. The runtime intervention is limited to boundary crossings, such as TLS handling, alternate stack operations, and NEON instructions, rather than attempting to emulate the entire macOS environment.
Kakehashi is designed to be verifiably stable and has been tested across various Linux ARM64 environments, including Docker, Colima, OrbStack, and UTM. While the project aims for performance parity with native macOS wherever possible, it prioritizes correctness and stability over raw speed. Detailed documentation and contributing guidelines are provided in the project's repository to facilitate further development and community engagement.
Written by urgent.news from Hacker News Best's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.
This story
This is one outlet's version. Read the fullest account.