I progressi con le Macchine virtuali su iPhone vanno avanti è stato sbloccato l’Hypervisor.framework su un telefono jailbroken e modificato UTM, una popolare porta QEMU per iOS, per eseguire arm64 Linux in una VM alla massima velocità nativa. … per mostrare il potenziale non sfruttato di iPhone.
La CPU A14 di iPhone 12 supporta la virtualizzazione, proprio come i Mac Apple Silicon. Il supporto per la virtualizzazione è disabilitato nel kernel, ma può essere riattivato con un jailbreak. Tuttavia, le macchine virtuali su iPhone 12 sono limitate a 900 MB di RAM.
Ecco un video con iPhone 12 che esegue l’UTM modificato, avvia una VM Fedora 36 e mostra la demo necessaria di Neofetch e LibreOffice.
Questa è una prova di concetto che prende di mira iPhone 12 solo su iOS 14.1. È anche molto instabile (le macchine virtuali possono utilizzare solo 900 MB di RAM e, se si verifica, spesso che l’intero telefono si arresta in modo anomalo e si riavvia).
Quanto è più veloce la virtualizzazione con accelerazione hardware rispetto alla modalità JIT di UTM?
Punteggio single-core in Geekbench 5:
- iPhone 12 nativo: 1573
- Hypervisor.framework: da 1504 a 1511
Questa è una velocità quasi nativa.
Tuttavia, un Apple Silicon Mac ottiene un punteggio Geekbench di 68 quando emula x86 con QEMU/UTM JIT. L’emulazione di arm64 avrebbe un sovraccarico minore, ma mi aspetterei comunque un rallentamento da 5x a 10x.
Uno svantaggio della virtualizzazione con accelerazione hardware: il doppio del sovraccarico della RAM. iOS termina la macchina virtuale quando utilizza più di 1 GB di RAM. In modalità non con accelerazione hardware, le macchine virtuali possono utilizzare 2 GB di RAM. (Ho provato ad aumentare questo limite, ma questo ha causato il panico del kernel)
Le Macchine virtuali su iPhone possono essere trasferite su altri dispositivi?
A14 (iPhone 12) su iOS 14.7 jailbroken e versioni precedenti:
- Lo sblocco del kernel può essere portato su versioni iOS supposte da Fugu14
- (lo sblocco non funzionerà su iOS 15 poiché l’heap dell’hypervisor è stato spostato nella memoria di sola lettura)
- per renderlo utilizzabile su altri dispositivi/versioni, dovrai implementare il patchfinding per gli offset
M1 (iPad Pro 2021/iPad Air 2022) su iOS 14/15 jailbroken:
- Questi dispositivi hanno già il supporto Hypervisor sbloccato nel kernel
- quindi qualsiasi jailbreak dovrebbe funzionare, non solo Fugu14
- firmare con l’
com.apple.private.hypervisor
autorizzazione e includere Hypervisor.framework decompilato
Tutti gli altri dispositivi:
- Le CPU precedenti ad A14/M1 non dispongono del supporto per la virtualizzazione con accelerazione hardware
Funzionerà Crysis?
Windows arm64 si è rifiutato di avviarsi sul mio Hypervisor.framework decompilato e non ho tempo per risolvere il motivo.
Anche se Windows dovesse avviarsi, il software renderizzato Crysis gira a 1 fps a 640×480 sul mio M1 Mac Mini con 4 core ad alte prestazioni… quindi su un iPhone con 2 core ad alte prestazioni, sarebbe 0,5 fps.
(Ho anche provato ad avviare Android: ho passato diversi giorni a provare a eseguire Waydroid nella mia VM Linux senza successo. La mancanza di RAM gli impedisce comunque di funzionare.)
Come funziona
Lo sblocco di Hypervisor.framework ha richiesto tre parti:
- Un jailbreak Fugu14 modificato per chiamare le funzioni dell’hypervisor nel kernel
- Un Hypervisor.framework decompilato con il supporto dell’hypervisor del kernel
- Una versione modificata di UTM, la porta QEMU per iOS, che utilizza il supporto Hypervisor.framework
Netflix News Serie TV Film Amine
Apple Android Tecnologia Prime Video Offerte Disney+
Seguici su Facebook Twitter Pinterest
Seguici su Telegram: Netflix, Offerte Amazon Prime, Prime Video