Für mein vergessliches zukünftiges Ich (und eventuell noch ein paar andere Trottel) dokumentiere ich hier mal, wie man D:OS2 (Definitive Edition) unter Linux zum Laufen bringt. Es funktioniert nämlich überraschenderweise ganz wunderprächtig, wenn man die richtigen Kniffe anwendet.
Voraussetzungen:
- Divinity Original Sin 2 Definitive Edition von GOG.com (Link)
- Linux Mint 20 (Link)
- WINE 5.0.2 (Link)
- Kernel 5.4.0
- NVidia Driver 450
- User, der weiß, wie er die o.g. Voraussetzungen erfüllen kann und beim Anblick der Shell keinen Herzkasper kriegt.
Es mag durchaus auch mit anderen Versionen des Spiels, Linux-Distris, WINE-Versionen, Kerneln oder Grafikkarten und Treibern funktionieren. Aber die habe ich nicht getestet.
Installation:
Zuerst richten wir uns ein neues WINE-Präfix ein, welches nur für die Installation relevant ist und später (aus Gründen) gelöscht werden wird. Öffnet ein Terminalfenster und gebt ein:
Code:
$ export WINEPREFIX=~/.wine.temp
$ export WINEARCH=win64
$ winecfg
Nun erzeugt winecfg ein neues Präfix mit der leeren Standardkonfiguration. Ich habe die Windows-Version auf Windows 8 gestellt, aber es spielt vermutlich keine große Rolle. Lediglich XP oder älter darf man nicht wählen, weil D:OS2 dann meckert. Da D:OS2 ein 64bittiges Spiel ist, brauchen wir auch ein 64bittiges WINE, welches die oben gesetzte Umgebungsvariable WINEARCH sicherstellt.
In der selben Shell (!) starten wir nun die Installation der von GOG.com heruntergeladenen Setup-Datei:
Code:
$ cd Downloads
$ wine 'setup_divinity_original_sin_2_3.6.69.4648_(40474).exe'
Da klickt ihr euch dann mehr oder weniger normal durch. Allerdings solltet ihr ein anderes Installationsziel festlegen. Standardmäßig will der Installer das Spiel nach C: installieren. Das liegt aber innerhalb eures WINE-Präfixes, welches (wenn ihr dieser Anleitung folgt) später entsorgt werden wird. WINE bindet euer Linux-Root immer als Laufwerk Z: ein. Ich habe das Spiel bei mir also in mein Homeverzeichnis unter Z:\home\user\Spiele\Divinity - Original Sin 2 installiert.
Hinweis: Es kann sein, dass am Ende der Installation, wenn der Installer die diversen Laufzeitumgebungen (.NET, DirectX, etc.) installieren will, Fehlermeldungen erscheinen. Die sollte man getrost wegklicken können, da sie irrelevant sind. Das Spiel selbst wurde hoffentlich einwandfrei installiert.
Wenn ihr möchtet, könnt ihr nun noch die Erweiterungen nachschieben. Beispielsweise Sir Lora:
Code:
$ wine 'setup_divinity_original_sin_2_-_companion_sir_lora_the_squirrel_3.6.69.4648_(40474).exe'
Auch hier klickt ihr euch normal durch.
Am Ende, wenn alles installiert ist, könnt ihr das temporäre WINE-Präfix wieder löschen. Darin befinden sich u.U. Laufzeitumgebungen (oder deren fehlerhaft installierte Reste), die hinterher nur Probleme machen. Wir richten für das Spiel lieber gleich ein sauberes, neues Präfix ein.
Code:
$ rm -r ~/.wine.temp
Einrichtung:
Soweit eigentlich alles normal und für einen halbwegs erfahrenen Linuxer eher unspektakulär. Der interessante Teil kommt jetzt, nämlich wie man sein WINE richtig konfigurieren muss. Die bei älteren Spielen oft hilfreichen winetricks wie d3dx9 oder d3dx10 führen nämlich in die Irre. Damit läuft das Spiel zwar grundsätzlich, hat aber leider gewisse grafische Macken. Manche Shader funktionieren nicht richtig, man kann den Fortschrittsbalken kaum erkennen, die kleinen Symbole neben dem Charakterportrait sind einfach nur schwarze Kästchen und Bücher oder sonstiges Lesematerial erscheinen auch einfach als schwarze Boxen ohne Inhalt. Hier nun also die Vorgehensweise, die (zumindest bei mir) von Erfolg gekrönt war.
Zuerst einmal richten wir ein neues WINE-Präfix im Installationsverzeichnis des Spiels ein. Dieses wird dann später exklusiv für D:OS2 verwendet.
Code:
$ export WINEARCH=win64
$ export WINEPREFIX="/home/user/Spiele/Divinity - Original Sin 2/.wine"
$ winecfg
Wenn ihr das Spiel woanders hin installiert habt, müsst ihr den Pfad natürlich entsprechend anpassen. In winecfg stellt wieder Windows 8 ein, ansonsten ist da nicht viel zu machen.
Jetzt installieren wir den auf Vulkan basierenden DirectX-Wrapper von Joshua Ashton, die alle o.g. Darstellungsfehler behebt. Es gibt zwar ein fertiges winetricks-Verb für diese Bibliothek, doch leider installierte das bei mir immer die veraltete Version 0.40.1. Damit kommt man schon recht weit, erlebt im zweiten Akt des Spiels dann aber einige Abstürze, die bei mir verschwanden, nachdem ich die aktuelle Version eingespielt hatte. Also nehmen wir die gleich. Ladet euch hier die aktuelle Version herunter. In meinem Fall war das die dxvk-1.7.2.tar.gz. Die könnt ihr nun entpacken und dann in euer oben gesetztes WINEPREFIX installieren:
Code:
$ tar xvzf dxvk-1.7.2.tar.gz
dxvk-1.7.2/
dxvk-1.7.2/setup_dxvk.sh
dxvk-1.7.2/x32/
dxvk-1.7.2/x32/d3d10_1.dll
dxvk-1.7.2/x32/d3d10.dll
dxvk-1.7.2/x32/d3d11.dll
dxvk-1.7.2/x32/dxgi.dll
dxvk-1.7.2/x32/d3d9.dll
dxvk-1.7.2/x32/d3d10core.dll
dxvk-1.7.2/x64/
dxvk-1.7.2/x64/d3d10_1.dll
dxvk-1.7.2/x64/d3d10.dll
dxvk-1.7.2/x64/d3d11.dll
dxvk-1.7.2/x64/dxgi.dll
dxvk-1.7.2/x64/d3d9.dll
dxvk-1.7.2/x64/d3d10core.dll
$ cd dxvk-1.7.2
$ ./setup_dxvk.sh install --with-d3d10
Während der Installation erhielt ich mehrfach die Meldung: „This application could not be started” (Screenshot). Ich habe einfach jedes Mal auf „Nein” geklickt und den Fehler ignoriert. Installiert wurde die Bibliothek offenbar trotzdem korrekt.
Anschließend funktioniert das Spiel im Prinzip schon, zumindest grafisch. Allerdings hat die Tastatur bei mir in diesem Modus (anders als beim vorher getesteten MS-DirectX) nicht funktioniert. Eingaben landeten stets nicht im Spiel, sondern dem Terminal, von welchem aus es gestartet worden war. Um dies auch noch in den Griff zu kriegen, öffnet den Registry-Editor von WINE:
Navigiert dann zum Schlüssel HKEY_CURRENT_USER\Software\Wine\X11 Driver und legt dort einen neuen Wert vom Type „Zeichenkette” (REG_SZ) an. Der Name des Eintrags lautet „UseTakeFocus” und der Wert ist „N” (Screenshot).
Das müsste es im Prinzip gewesen sein. Jetzt sollte das Spiel eigentlich fehlerfrei laufen. Jedenfalls habe ich bei mir bisher keine weiteren Probleme bemerkt. Online-Krams habe ich aber nicht getestet.
Komfort:
Damit man nicht jedesmal das WINE-Präfix von Hand setzen muss, kann man sich mit einem Shellskript behelfen. Erzeugt im Spieleverzeichnis eine Datei, bspw. launch.sh mit folgendem Inhalt:
Code:
#!/bin/sh
#
# Launcher for Divinity Original Sin 2
#
export WINEPREFIX="/home/user/Spiele/Divinity - Original Sin 2/.wine"
export WINEARCH=win64
wine 'Z:\home\user\Spiele\Divinity - Original Sin 2\DefEd\bin\EoCApp.exe'
Macht die Datei dann mit:
Code:
$ chmod +x launch.sh
ausführbar und künftig könnt ihr D:OS2 über dieses Shellskript starten. Bei Bedarf auch über ein Desktop-Icon oder dergleichen. Die Pfade müsst ihr natürlich entsprechend anpassen.
Abschließende Hinweise:
WINE-Aufruf:
Wichtig ist, dass ihr WINE immer mit Pfaden in Windows-Notation aufrufen solltet. Das gilt sowohl für die Installation als auch das Spiel an sich. Also nicht:
Code:
$ wine /pfad/zu/EoCApp.exe # FALSCH!
sondern:
Code:
$ wine 'Z:\pfad\zu\EoCApp.exe' # RICHTIG!
Und da Windows-Pfade den umgekehrten Schrägstrich (Backslash) enthalten, müsst ihr sie entweder mit einfachen Anführungszeichen (') einschließen oder doppelt angeben („Z:\\pfad\\zu\\EocApp.exe”). Siehe auch die Manpage zur Bash, Abschnitt QUOTING.
WINE mit Unix-Pfaden aufzurufen kann mitunter funktionieren, muss es aber nicht. Und in diesem Fall macht es eben Probleme. Also ruft es entweder direkt aus dem Verzeichnis auf, in dem sich die EXE-Datei befindet. Oder gebt den Pfad in Windows-Notation an.
Savegames und Mods:
Spielstände (Savegames), Einstellungen und Mods landen in eurem WINE-Präfix unter $WINEPREFIX/drive_c/users/<username>/Meine Dokumente/Larian Studios/Divinity Original Sin 2 Definitive Edition/.
Wenn ihr dieser Anleitung gefolgt seid, liegt euer WINEPREFIX ja im Spiele-Verzeichnis. Wem dieser Pfad zu lang ist, kann sich einen Symlink anlegen. Beispielsweise:
Code:
$ cd "$HOME/Spiele/Divinity - Original Sin 2"
$ ln -s ".wine/drive_c/users/$USER/Meine Dokumente/Larian Studios/Divinity Original Sin 2 Definitive Edition/" LocalStorage
Damit habt ihr dann direkten Zugriff auf die benutzerspezifischen Dateien (Einstellungen, Profile mit Savegames, Mods, etc.) im Verzeichnis „LocalStorage” im Spieleordner selbst.