While other projects focus on Windows or Android compatibility, Kakehashi targets the Apple ecosystem with a bold approach. Written in Rust by Vladislav Kalinkin, this experimental open-source project allows macOS binaries (Mach-O format) to run on Linux ARM64 hardware without the overhead of virtual machines or full OS emulation.

Add AlexTech.ai asPreferred Source on Google

Userspace syscall translation

Kakehashi operates as a lightweight translation layer residing entirely in userspace. Instead of modifying the kernel or requiring root access, it maps macOS binaries into memory and intercepts Darwin system calls, converting them into Linux equivalents on the fly. Early tests show that CLI tools like curl and 7-Zip are already functional, although they currently operate at roughly 20% of native speed.

Slashing CI infrastructure costs

The primary driver behind Kakehashi is economic rather than consumer-facing. For developers, maintaining macOS CI nodes is notoriously expensive compared to Linux instances. By enabling the execution of Darwin CLI tools on standard ARM64 Linux servers, Kalinkin estimates that CI costs could be reduced by up to 10 times, provided the tasks do not rely on complex Apple-proprietary frameworks.

Technical boundaries and constraints

The project is strictly limited to ARM64 binaries; it does not support x86 translation. Furthermore, Kakehashi is not a replacement for macOS as it lacks support for Cocoa, SwiftUI, or Metal. It is designed specifically for command-line utilities. The main engineering challenge remains the evolving nature of system calls and file system semantics, which can lead to "false positives" where a binary runs but behaves differently than it would on actual macOS hardware.

The broader ARM convergence

Kakehashi complements the ongoing efforts to bring Linux to Apple Silicon, such as those by the Asahi Linux team. While Kakehashi tackles software compatibility from the userspace side, other developers are focusing on kernel-level integration, including recent patches for NVMe drivers to ensure compatibility with the latest Apple M4 firmware.