Ieri, al Google for Games Developer Summit 2022, il team Stadia ha confermato ciò che in molti ormai sospettavano. Google e i Partner Studios utilizzano già da tempo diverse tecniche per far funzionare i giochi Windows su Stadia. (Questo articolo è tratto da Yes. Windows games are in play for Stadia! di Jack Deslippe.)
Il funzionamento dei giochi Windows
Quello che fa funzionare un gioco Windows può essere suddiviso grossolanamente in tre layer:
- Chiamate di sistema generiche: per esempio quelle per accedere allo storage.
- DirectX per l’accelerazione GPU
- Chiamate specifiche offerte dalla piattaforma: SDK/API per funzionalità quali lista amici, trofei e statistiche.
Il terzo strato ovviamente, non è strettamente necessario al funzionamento del gioco. Per esempio, Luna, il servizio di cloud gaming di Amazon, non ne fa uso.
Da Windows a Google Stadia
Come dicevamo, ci sono delle tecniche per far girare un gioco Windows su Linux – e di conseguenza su Google Stadia.
1) Tradurre il sorgente – già utilizzata per il porting di diversi giochi su Google Stadia
Da quando la community ha scovato tra i crediti di Metro Exodus un riferimento al progetto DXVK, sono partite numerose ricerche. È stata una caccia serrata nel tentativo di scovare altri elementi che potessero connettere tale tecnologia a Stadia. Alla fine è stato scoperto che DXVK (o DXVK-native) era già stato utilizzato per il porting di diversi giochi. Dando un’occhiata all’ultima pagina github del progetto sono anche chiaramente elencati giochi come l’ottavo e il nono capitolo della famosa serie jrpg YS.
Ci sono diverse modalità di utilizzo di DXVK. Stadia sembra usarlo come parte del suo esistente “Porting Toolkit” per convertire le chiamate DirectX in chiamate Vulkan nel codice sorgente stesso. Dai commenti di oggi, sembra che il nuovo strumento fonito da Goole contenga anche alcuni altri strumenti di traduzione – presumibilmente per le chiamate di sistema di Windows e forse per l’SDK della piattaforma.
Secondo Jack, questi strumenti di traduzione da sorgente a sorgente dovrebbero coprire circa il 90% del porting di un gioco su Linux e Stadia. Lasciando agli sviluppatori il compito di debuggare e correggere qualsiasi eventuale problema.
Pro
- La maggior parte del processo può essere automatizzato
- Fornisce un’app “nativa” Linux/Vulkan
Contro
- Non automatizzato al 100%
- Essendo una traduzione da eseguire sul codice sorgente, comporterebbe la riesecuzione di tutto il processo ad ogni modifica/aggiornamento
2) Eseguire il gioco con Wine/Proton + DXVK/VKD3D
Per chi non lo conoscesse, Wine – Wine Is Not an Emulator, come suggerito dal nome, non è un emulatore. È un layer di compatibilità o traduttore a runtime che permette agli utenti di installare ed eseguire applicazioni e giochi Windows non modificati su Linux. Il progetto è in sviluppo ormai da decenni ed è altamente utilizzato. Tra i suoi maggiori contribuenti troviamo aziende del calibro di Codeweavers e Valve.
A proposito di Valve, Wine è anche ciò che permette a Steam Deck di far girare la maggior parte della libreria Steam – si, anche Steam Deck è Linux based.
Tornando a noi, attualmente, circa 10.000 giochi girano su Linux grazie a Wine e Proton (un fork di Wine) con l’aiuto di DXVK (per DirectX <= 11) e VKD3D (per DirectX 12). Quindi si, questo secondo strumento per portare i giochi da Windows a Stadia sarebbe sicuramente un’ottima soluzione.
Ci sono giochi rilasciati su Stadia in questo modo finora? L’ambiente Linux di Stadia è sicuramente spoglio, ma, in linea di principio, siamo abbastanza certi che sia possibile confezionare un pacchetto eseguibile contenente sia gioco che layer di compatibilità (Wine). Se qualcuno l’abbia già fatto invece, è difficile da dire.
Cosa sappiamo di certo? L’ambiente Stadia al momento non include tutte le dipendenze necessarie all’utilizzo di Wine o Proton. Come vedremo, la soluzione innovativa svelata ieri durante il Google for Games non si discosta così tanto da questa seconda tecnica.
Ad ogni modo, il team di sviluppo dietro a Google Stadia ha dichiarato ufficialmente che prenderà in considerazione anche questa seconda via.
Pro
- In molti casi, non si dovrebbe cambiare assolutamente nulla nel codice
- Più di 10.000 titoli sono testati e funzionanti
Contro
- Wine è un pacchetto piuttosto ingombrante da installare. Cerca di implementare tutto ciò di cui QUALSIASI applicazione Windows avrebbe bisogno
- Il supporto ai 32 bit necessita di ancora più dipendenze
3) Sviluppare il proprio “Wine-Light” – attualmente lo stanno testando decine di Partner Studios
Questa strada è stata il fulcro della presentazione di ieri. Per maggiori informazioni su di essa vi consigliamo di leggere anche Rivelato l’innovativo toolkit per portare giochi Windows su Google Stadia.
Invece di usare Wine/Proton così com’è, gli ingegneri di Google hanno sviluppato la loro re-implementazione delle funzioni di sistema di Windows. Questo sistema è molto simile al precedente, ma il layer di compatibilità custom conterrà solo le funzioni necessarie al funzionamento del gioco. Per questo abbiamo deciso di chiamare questa tecnica di porting “Wine-Light”.
Lavorando attraverso una manciata di giochi, il team ha costruito una lista delle funzionalità di Windows comunemente necessarie. Il che dovrebbe rendere più facile il porting dei giochi futuri.
Pro
- Come Wine, ma molto più leggero. Una volta completamente sviluppato, permetterà l’esecuzione di giochi Windows non modificati.
Contro
- Per ogni nuovo gioco che si cerca di eseguire, potrebbero saltar fuori nuove funzioni da aggiungere a “Wine-light”.
- A differenza di Wine, non ha alle spalle decenni di sviluppo e migliaia di dev che cercano ogni giorno di migliorarlo.
Stadia è il futuro?
Quindi ci siamo. Ci sono molte opzioni che il team di Stadia non sta solo guardando, ma sta attivamente utilizzando per portare i giochi Windows su Stadia. Al momento non possiamo prevedere il futuro, ma quasi sicuramente ne vedremo delle belle.
Altro dal Google for Games Developer Summit 2022:
- Stadia al Google for Games Developer Summit
- Rivelato l’innovativo toolkit per portare giochi Windows su Google Stadia
- Store Google Stadia presto pubblico – senza registrazione o account!
Con questo è tutto, ma non perdere i nuovi giochi di Stadia Pro di marzo 2022 e ricorda che la promozione Lenovo per ottenere gratuitamente 3 mesi di abbonamento premium al servizio di cloud gaming di Google è ancora attiva.