Far girare SteamOS sui Mac con Apple Silicon. È l’obiettivo di FX Steam Launcher, un progetto open source che punta a ridurre il più possibile le prestazioni necessarie per eseguire giochi Windows su macOS. Il progetto non è affiliato a Valve né ad Apple.

A differenza di altre soluzioni, FX Steam Launcher non utilizza una distribuzione Linux generica: parte dall’immagine ARM64 ufficiale di SteamOS e la esegue all’interno di una macchina virtuale su macOS, sfruttando Hypervisor.framework e libkrun. SteamOS gira quindi nativamente su ARM64, mentre Proton continua a occuparsi dell’esecuzione dei giochi Windows.

Il progetto si appoggia a un ampio stack di tecnologie open source, tra cui FEX per la traduzione delle istruzioni x86-64 dei giochi Windows, DXVK o vkd3d-proton per tradurre le chiamate DirectX verso Vulkan, e Venus e virtio-gpu per portare il rendering dal sistema guest verso macOS. Da lì, la traduzione verso Metal può avvenire attraverso diverse opzioni: MoltenVK, disponibile a partire da macOS 15; KosmicKrisp, per macOS 26 e successivi, basato su Vulkan su Metal 4 di Mesa; oppure DXMT, ancora sperimentale, che traduce direttamente le chiamate Direct3D 10 e 11 verso Metal.

Le prestazioni

Secondo i test riportati dal progetto, su un Mac con M4 Max The Witcher 3: Wild Hunt supera i 70 FPS a 1080p, pur con problemi nel rendering degli alberi; Stellar Blade supera i 70 FPS a 800p, mentre Fallout 4 raggiunge i 60 FPS a 1080p con impostazioni medie. Non tutti i titoli risultano però avviabili: tra quelli citati come non funzionanti figurano Doom Eternal, Marvel’s Spider-Man: Miles Morales e Ghost of Tsushima.

Le limitazioni

Restano diversi limiti strutturali. Le soluzioni di traduzione a livello utente risultano incompatibili con i giochi che utilizzano sistemi anti-cheat a livello kernel. La memoria unificata degli Apple Silicon può inoltre diventare un collo di bottiglia: su un Mac con 16 GB, una configurazione tipica prevede circa 8 GB per la macchina virtuale, 4 GB per la grafica e 4 GB per macOS. Con titoli più pesanti, l’utilizzo intenso dello swap può portare a stuttering e rallentamenti, tanto che il progetto raccomanda almeno 24 GB di RAM per i giochi più impegnativi.

Un ulteriore limite riguarda la compilazione degli shader: il cambio di driver comporta la ricostruzione della cache. Nel caso della demo di Stellar Blade, la compilazione su un M1 Max con KosmicKrisp ha richiesto circa 28 minuti al primo avvio.

Sul sito del progetto è disponibile un elenco dei vari videogiochi testati, in modo da avere un’idea più precisa delle prestazioni che si possono ottenere.

Fonti