Dark Souls anche sul portatile con Intel HD4000 e Linux

Raccolgo in questo articolo i passi da me seguiti per installare ed ottimizzare Dark Souls: Prepare to Die Edition sul mio Thinkpad X230 (CPU: i5-3320M, GPU: HD4000) con Linux, che di certo non è una macchina da gaming e non è nemmeno un PC recente. Si noti che completato con successo la procedura su diverse distro, nello specifico Debian, Ubuntu, Arch.

Menu principale

Nonostante siano passati ormai più di 5 anni dal suo rilascio, Dark Souls rimane un titolo ancora piuttosto giocato e lo testimonia la sua community attiva oggi più che mai.

Il porting su PC, avvenuto nel 2012 a seguito delle insistenti richieste dei giocatori, non è stato affatto tecnicamente impeccabile. Anzi, ha mostrato difficoltà con i controlli e problemi di performance anche sulle configurazioni hardware più potenti, solo in parte risolti da mod non ufficiali, create della community. Nonostante ciò il porting si è dimostrato abbastanza solido da poter girare anche su configurazioni bel al di sotto dei requisiti minimi, a patto di sacrificare qualcosa in termini di grafica e stabilità.

In sintesi la procedura per installare Dark Souls su Linux può essere suddivisa nelle seguenti fasi: installare Wine, installare DSCM, installare Dark Souls tramite Steam e, infine, installare e configurare DSfix.

Installare Wine

Questo passo dipende dalla distro in uso. Generalmente si tratta semplicemente di installare un pacchetto chiamato wine, dopo aver abilitato i repo 32bit. Per Debian Stretch (che è il sistema che uso in questo momento) queste due operazioni si traducono nei comandi:

sudo dpkg --add-architecture
sudo apt update
sudo apt install wine

Occorre anche il pacchetto winbind (o samba su Arch Linux). Infine per installare l’ultima versione di winetricks, eseguire i comandi

cd /usr/bin/
sudo wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
sudo chmod +x winetricks

Si è dato per scontato che i driver per la propria scheda video (e le librerie 32bit correlate) siano già stati installati correttamente.

E ora possibile creare l’ambiente (o, meglio prefix) in cui sarà eseguito Dark Souls, con il comando:

WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/Dark_Souls winecfg

Wine, a questo punto, dovrebbe offrirsi di scaricare ed installare wine-gecko e wine-mono. Di questi solo wine-gecko va installato, l’altro no.

A questo punto dovrebbe aprirsi una finestra dal titolo Configurazione di Wine. Dopo essersi recati nella scheda Librerie, digitare dinput8 nell’apposito spazio e cliccare su Aggiungi. Ripetere l’operazione per dsmfix se si ha intenzione di giocare con mouse e tastiera. Infine cliccare su Ok per salvare.

Installare DSCM

DSCM

Wulf’s Dark Souls Connectivity Mod o, in sintesi, DSCM è una mod creata dalla community per risolvere alcuni malfunzionamenti delle funzionalità multiplayer. Tecnicamente consiste in un programmino da avviare prima di lanciare il gioco, che si occupa di popolare la propria “stanza” in modo da poter interagire con altri giocatori.

DSCM ha bisogno delle librerie .NET Framework 4.5. Sfortunatamente non funziona con le librerie alternative wine-mono fornite da Wine stesso e che si è deciso di non installare nel passo precedente. Tuttavia è possibile installare le librerie richieste in maniera automatizzata usando winetricks.

A causa di un bug chiuso, ma irrisolto, il processo verrà interrotto due volte con la richiesta di scaricare alcuni file da piazzare in un specifiche cartelle. Dopo averlo fatto winetricks non sarà in grado nè di proseguire e nè di ricominciare dall’inizio. L’unica soluzione è quella di far trovare i file al loro posto già prima dell’installazione. Un modo per aggirare il problema il maniera automatizzata è quello di eseguire il processo in due prefissi temporanei e cancellarli subito dopo con i comandi:

WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/temp1 winetricks dotnet45
WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/temp1 winetricks dotnet45
rm -Rf ~/.local/share/wineprefixes/temp{1,2}

Infine è possibile avviare il suddetto processo per l’ultima volta nel prefix definitivo con il comando:

WINEPREFIX=~/.local/share/wineprefixes/Dark_Souls winetricks dotnet45

Installare Dark Souls

Per permettere la riproduzione dei filmati introduttivi, prima di eseguire il gioco, è necessario installare dei codec aggiuntivi con il comando

WINEPREFIX=~/.local/share/wineprefixes/Dark_Souls winetricks wmp9 devenum vcrun6

Per installare Steam (la versione per Windows) dare il comando

WINEPREFIX=~/.local/share/wineprefixes/Dark_Souls winetricks --no-isolate steam

Dopo l’installazione dovrebbe essere possibile scaricare ed eseguire Dark Souls da Steam esattamente come in Windows.

Per comodità consiglio di scaricare ed estrarre il file DSCM.exe, e di spostarlo nella cartella ~/.local/share/wineprefixes/Dark_Souls/drive_c/Program Files/Steam/steamapps/common/Dark Souls Prepare to Die Edition/DATA. Per agevolare i passi successivi sarebbe una buona idea creare un collegamento a questa cartella da qualche parte, come sul desktop, ad esempio:

ln -s "~/.local/share/wineprefixes/Dark_Souls/drive_c/Program Files/Steam/steamapps/common/Dark Souls Prepare to Die Edition/DATA" "~/Scrivania/Dark Souls"

A questo punto da Steam si esegua la procedura per “Aggiungere un gioco non di Steam alla libreria” selezionando il file DSCM.exe appena spostato. In questo modo è possibile avviarlo senza dover ricorrere al terminale.

Configurare DSfix

A questo punto se si lancia Dark Souls, questo dovrebbe avviarsi in una finestra con performance piuttosto deludenti anche su PC potenti. Su un portatile con HD4000 dovrebbe risultare ingiocabile, almeno finchè non si installa la mod DSfix e non si attuano le seguenti ottimizzazioni. Ma prima occorre disabilitare l’antialiasing dal menu principale del gioco (o DSfix non funzionerà) e magari anche il motion blur (per migliorare le performance).

Dopo averlo scaricato da nexusmod, DSfix va installato esattamente come in Windows (estraendo il contenuto del file .zip in ~/.local/share/wineprefixes/Dark_Souls/drive_c/Program Files/Steam/steamapps/common/Dark Souls Prepare to Die Edition/DATA). Se si ha intenzione di giocare con mouse e tastiera, occorre installare anche DSMfix allo stesso modo. In questo caso è possibile personalizzare le impostazioni modificando il file dsmfix.ini. Personalmente sono solito alzare il valore sensitivity a 10.

Aprire, dunque, il file DSfix.ini ed apportare le seguenti modifiche:

renderWidth 800
renderHeight 450

presentWidth 1366
presentHeight 768

ssaoScale 3
dofOverrideResolution 0
dofBlurAmount o
unlockFPS 1
FPSlimit 30
FPSthreshold 20
skipIntro 1
forceFullscreen 1

È importante settare presentWidth e presentHeight alla risoluzione del proprio monitor. renderWidth e renderHeight invece possono essere modificati a piacimento. Su PC potenti è possibile settarli alla risoluzione del proprio monitor, altrimenti settando valori più bassi si migliorano le performance a scapito delle grafica.

Per attivare DSMfix modificare anche

dinput8dllWrapper dsmfix.dll

Per chi usa mouse e tastiera è consigliato anche settare

enableTextureOverride 1

ed installare queste texture nella cartella dsfix/tex_override.

Prestazioni

THE LEGEND IS BACK sul mio Thinkpad

I settaggi del passo precedente sono mirati ad ottenere il massimo delle performance a scapito della grafica e probabilmente non sono necessari su PC più performanti.

Sul mio portatile il gioco appare tutto sommato relativamente fluido e giocabile.

I cali di performance, più che come cali di framerate, si manifestano come piccoli freeze momentanei. Le impostazioni applicate rendono questi freeze molto più rari, ma sono comunque presenti ogni volta si accede ad una nuova area, dopo di che scompaiono.

Sicuramente non si tratta di una soluzione ottimale, ma anche se non è esattamente una gioia per gli occhi, funziona. Per me è un ripiego da quando il mio fisso ha smesso di funzionare.

Commenti