LINUX GAMING: GUIDA INTRODUTTIVA

EDITORIALIGNU/LINUX

Incuriosito da un paio di articoli letti su Linux Pro (numeri 197 e 204) e da un’ottima introduzione ascoltata in un breve webinar durante il primo lockdown, ho iniziato ad interessarmi al gaming sul nostro sistema operativo preferito. Ho raccolto qualche suggestione ed ho deciso di cimentarmi sul campo e di raccontarvi brevemente la mia affascinante avventura, popolata da luci ed ombre.

Innanzitutto vi anticipo il mio hardware con cui in genere mi cimento nelle mie scorribande videoludiche (su Windows): CPU Intel 3770K, 16 GB RAM DDR3, RX 590 8GB NITRO + SPECIAL EDITION, MONITOR 1920×1080 60Hz. Ovviamente non la piattaforma più aggiornata lato CPU, ma che grazie alla GPU relativamente recente mi ha consentito di giocare, sempre con dettagli pressoché maxati, a tutti i giochi in mio possesso più o meno recenti .

Ho deciso di intraprendere questo percorso, consapevole che, grazie alla GPU AMD, avrò molti meno problemi legati all’implementazione dei moduli del kernel (ossia driver) rispetto a coloro che risultano possessori di GPU NVIDIA, le quali soffrono, da sempre, di qualche problema di compatibilità con il Pinguino (ricordiamo tutti il dito medio di Linus Torvalds).

Per i possessori delle schede NVIDIA si suggerisce di utilizzare la distribuzione POP!OS, la quale – fra le opzioni scaricabili – ha direttamente una propria versione con kernel già patchato per queste schede video. Non possedendo schede NVIDIA ho solo l’imbarazzo della scelta, quindi decido di puntare sull’affidabile Ubuntu 20.04 LTS e quanto ai driver mi affido a questa pagina scoprendo che – considerata la non manifesta obsolescenza della mia scheda grafica – non necessito di installare alcunché. Ed é già un buon inizio!

Installato il sistema, come da prassi lo aggiorno. Decido che ho estremamente voglia di ricreare la mia piattaforma Windows su Linux e quindi desidero installare il mio buon vecchio controller PS3 (lo so i puristi del gaming mi impiccheranno al primo palo… perché non uso mouse e tastiera) ma scopro che purtroppo il servizio bluetooth non é attivo, quindi decido di utilizzare questa guida e questo video su Youtube  e finalmente riesco a pareggiare il controller all’adattatore.

Prima di addentrarci in tecnicismi teniamo presenti 2 aspetti: le piattaforme di distribuzione dei giochi (che vanno tenute distinte dalle piattaforme di vendita, non sempre coincidenti) e le modalità di implementazione dei giochi su Linux. Le principali piattaforme di distribuzione dei giochi sono Steam, UbisoftConnect (ex Uplay), Rockstar Games, Origin, Epic Games e GOG. Fra queste UbisoftConnect, Rockstar Games e Origin vendono solo prodotti propri, mente gli altri sono store “multimarca”. Ad esempio Assassin’s Creed é sviluppato da Ubisoft, pertanto potrò scaricarlo sia dal sito della casa di produzione UbisoftConnect, sia dagli altri, viceversa, non potrò scaricare un gioco di Origin – ad esempio – da Rockstar Games, ma potrò farlo da Steam, Epic Games o GOG. Questa precisazione ci sarà utile più avanti.

Dicevo che le piattaforme di distribuzione, spesso coincidono con quelle di vendita, ma non sempre é così. Esistono, infatti, rivenditori di chiavi di attivazione (fra le più note InstantGaming e Kinguin) che poi andranno riscattate su una delle suddette piattaforme di distribuzione (spesso per lo stesso gioco potrò scegliere la piattaforma. Es. Assassin’s Creed lo potrò riscattare su UbisoftConnect o su Steam).

Ciò premesso é tempo di capire effettivamente con quali modalità posso giocare su Linux. Essenzialmente posso affidarmi seriamente a due progetti: Proton (sviluppato da Valve, proprietaria di Steam) e Lutris. Entrambi trovano il proprio punto di sostegno in Wine, il quale – senza troppo entrare in lunghi dettagli – consente di “far girare” su Linux programmi sviluppati in ambiente Windows (come i giochi).

La ragione per cui Steam ha deciso di sviluppare Proton risiede nella volontà di “far girare” i giochi acquistati sul proprio store (ampliando così i propri potenziali clienti), indipendentemente dal sistema operativo sottostante. Proton é una versione modificata di Wine che sfrutta le nuove API grafiche open source Vulkan, anziché quelle proprietarie di Microsoft, ossia le DirectX. Per scoprire la compatibilità fra i giochi e lo stesso Proton, esiste il database Proton DB. I giochi vengono differenziati con una sorta di “medaglia” decrescente a seconda del loro grado di utilizzo sul nostro sistema operativo (Platino, Oro, Argento, etc. fino a Broken che significa inutilizzabile). E’ fortemente consigliato prendere atto anche dei commenti rilasciati dagli utenti.

Lutris, invece, é un progetto open source di fatto indipendente, che ha l’ambizioso obiettivo di sfruttare Wine – nelle sue varie incarnazioni – per “far girare” qualsiasi gioco su Linux.

Esiste però anche una terza via, ossia installare i giochi nativamente creati per Linux (!!!!!), ossia dei giochi che sono stati sviluppati direttamente su Linux o che, comunque, costituiscono un porting nativo. Scopro così che la più recente trilogia di Tomb Raider e il primo episodio di Hitman del recente reboot, sono usciti anche per Linux.

Poiché possiedo entrambi i giochi su Steam, decido di provarli e, quindi procedo, procurandomi Steam. Esso é’ disponibile nei repository di molte distro altrimenti é possibile scaricarlo comodamente in formato .deb (per chi ha una distro Debian-based) direttamente dal sito di Steam. Non temete, anche se la vostra versione nei repository non é delle più recenti, installatela con fiducia, in ogni modo Steam si autoaggiornerà all’avvio. Poi un’ulteriore settaggio, andiamo in Steam – Impostazioni – Steam Play e flagghiamo “Enable Stam Play for supported titles” ed anche Enable Stam Play for all other tiles”. Avviamo il client Steam Play e proviamo.

Devo ammettere che la sorpresa é stata assolutamente grandiosa. I due giochi funzionano molto meglio con le API Vulkan e non si apprezzano sostanziali differenze rispetto ai rispettivi giochi su Windows, né in termini di qualità dell’immagine né tantomeno di effetti grafici. In modo del tutto inaspettato sono riuscito a maxare tutti gli effetti grafici avanzati (anche dove con Windows avevo dovuto accettare qualche compromesso) ed anche a guadagnare qualche manciata di FPS.

Fatta questa esperienza molto soddisfacente, decido di provare, sempre su Steam un gioco non nativo acquistato, che viene classificato come ORO: quindi installo THIEF (non un giocone, ma comunque un gioco onesto). Veramente non male.

Decido ora di spostarmi su Lutris che gestisce non solo giochi acquistati su Steam, ma tendenzialmente su qualsiasi piattaforma di distribuzione disponibile per quel gioco (vedi sopra). Voglio testare un classico videoludico, ossia “GTA V”, acquistato sulla piattaforma degli sviluppatori, ossia Rockstar Games. Mi reco sul sito di Lutris, ove sono presenti le istruzioni di installazione per tutte – o quasi – le distribuzioni. L’installer scaricherà anche tutte le caratteristiche di Wine necessarie, in considerazione del mio acquisto, scelgo quello di Rockstar Games. Do un’occhiata anche alle recensioni degli utilizzatori che non sembrano malvagie. Avviato il gioco e sistemata la risoluzione, il gioco si avvia ma risulta laggare pesantemente. Decido così di riavviare e di applicare le impostazioni grafiche di default ma il risultato é il medesimo. Flop totale!

Probabilmente si é trattato solo di un episodio isolato, tuttavia decido di non proseguire ulteriormente nella disamina su Lutris, preso da un indicibile sconforto. Già mi vedevo a cantare vittoria con il mio GTA su Linux.

Nel caso, ovviamente, che si possieda un gioco acquistato su Steam, si consiglia di utilizzare preferibilmente Proton e solo successivamente Lutris, in caso di evidenti malfunzionamenti del primo.

A questo punto, possiamo trarre almeno tre argomentazioni: in primo luogo, i giochi nativi sono eccellenti e sono persino migliori che su Windows (e il merito é da condividere anche con la bontà delle API Vulkan) in termini visivi e di prestazioni. In secondo luogo, Steam (dopo il fallimento, qualche anno fa, della propria console Steam Machine basata su Linux) sta investendo, e bene, su questo progetto Proton, che – se continuerà – non potrà che dare ottimi frutti. In terzo luogo, Lutris é un progetto ambizioso e utile, il quale, tuttavia, appare ancora un po’ acerbo e farraginoso, ma si spera che gli sforzi degli sviluppatori vengano premiati in futuro.

Qualcuno mi suggerisce che ci sarebbero altre due possibilità  ossia installare Windows su Proxmox ed accedere direttamente alle risorse grafiche tramite GPU-Passthrough, ma ciò richiederebbe comunque una copia licenziata di Windows ed installare la distribuzione GamerOS. Magari li vedremo in un ulteriore articolo prossimamente.

In conclusione, possiamo affermare che il percorso di Linux in ambito gaming é ancora irto di ostacoli, ma ci sono comunque degli elementi di buon auspicio. Resta da capire quanto sia concretamente preferibile imprecare con Linux piuttosto che acquistare Windows, magari con una chiave di licenza OEM da pochi euro. Tuttavia, smanettare e giocare con il Pinguino per noi devoti non ha prezzo.