Mentre soluzioni come AnduinOS 2.0 si concentrano sull'integrazione di app Windows e Android, il progetto open source Kakehashi sposta l'attenzione verso l'ecosistema Apple. Sviluppato in Rust da Vladislav Kalinkin, questo layer sperimentale permette l'esecuzione di binari macOS (formato Mach-O) direttamente su hardware Linux ARM64, eliminando la necessità di virtualizzazione o emulazione completa del sistema operativo.

Aggiungi AlexTech.ai comeFonte Preferita su Google

Traduzione delle syscall in userspace

Kakehashi non agisce come una macchina virtuale, ma opera interamente in userspace. Il software carica il binario macOS in memoria e intercetta le chiamate di sistema (syscall) tipiche del kernel Darwin, convertendole al volo nei loro equivalenti Linux. Questo approccio evita l'uso di moduli kernel o privilegi di root, rendendo il processo estremamente leggero rispetto a soluzioni tradizionali. Attualmente, il progetto supporta strumenti da riga di comando come curl e 7-Zip, sebbene le prestazioni siano circa un quinto rispetto all'esecuzione nativa.

Abbattere i costi della Continuous Integration

L'obiettivo primario di Kakehashi non è sostituire l'esperienza desktop di macOS, ma risolvere un problema economico per i DevOps. Molti progetti richiedono nodi CI su hardware Mac, che risultano significativamente più costosi dei server Linux. Secondo l'autore, l'utilizzo di un layer di compatibilità per i tool CLI potrebbe ridurre i costi della CI fino a 10 volte, permettendo di eseguire test di base su istanze Linux ARM64 senza dover noleggiare infrastrutture Apple dedicate.

Limiti tecnici e compatibilità

Il progetto è strettamente limitato ai binari ARM64 (aarch64) e non supporta l'architettura x86. Inoltre, Kakehashi non implementa i framework grafici di Apple come Cocoa, SwiftUI o l'API Metal. Si tratta quindi di un ambiente destinato esclusivamente a programmi CLI che non dipendono da librerie proprietarie complesse. La sfida principale resta la manutenzione della coerenza tra le diverse versioni di Darwin e Linux, per evitare che un programma appaia funzionante senza però produrre risultati identici a quelli ottenuti su macOS.

Prospettive per l'ecosistema ARM

L'iniziativa si inserisce in un trend di maggiore convergenza tra hardware Apple Silicon e Linux, parallelamente agli sforzi del team Asahi Linux per migliorare il supporto ai chip M-series. Mentre Kakehashi lavora sulla compatibilità software in userspace, altri sviluppatori continuano a ottimizzare i driver kernel per l'hardware Apple, come dimostrato dai recenti fix per il driver NVMe necessari per supportare i chip M4.