Ubuntu, Vulkan, MESA, Steam

Vor ein paar Wochen haben diverse Spiele, die ich unter Ubuntu 18.04 mittels Steam Play (d.h. Proton, was wiederum heißt: WINE) spielen konnte, aufgehört zu funktionieren. Hier eine kurze Notiz „an mich selbst“, wie ich es wieder hingekriegt habe (indem ich mich einer Schnittstellen- und Treiberhölle ausgesetzt habe):

  • Das Hauptproblem war wohl, dass DXVK nicht mehr funktioniert hat. DXVK nutzt Vulkan und ist heute scheinbar die bevorzugte Methode, wie WINE die Windows-DirectX-Aufrufe unter Linux umsetzt. Die Ursache dafür war wohl, dass Ubuntu 18.04 standardmäßig nur MESA 18.0.x mitbringt, aber Vulkan mittlerweile MESA 18.2.x benötigt.
  • Um das Problem zu umgehen, kann man in der Proton-Konfiguration einstellen, dass statt DXVK das ältere Wine3D verwendet wird. Dazu muss man erstmal in den Ordner der verwendeten Proton-Version (also 3.7, 3.16, 3.7 beta oder 3.16 beta) und dort die vorhandene Datei user_settings.sample.py in user_settings.py umbenennen. Mit einem Texteditor kann man dann den Eintrag # „PROTON_USE_WINED3D“: „1“, auskommentieren (also das # entfernen).
  • Mit dieser Methode starten die ganzen Spiele zwar wieder — aber ggf. fehlerhaft. Zum Beispiel wird bei Elder Scrolls Online in Außenaufnahmen der Boden nicht richtig dargestellt. Wine3D ist also keine Lösung; die Konfigurationsänderung machte ich wieder rückgängig.
  • Glücklicherweise fand ich dann folgende Seite: http://ubuntuhandbook.org/index.php/2018/10/mesa-18-2-2-available-install-ubuntu-18-04/ wo erklärt wird, mit welchem PPA man an ein für Ubuntu 18.04 angepasstes MESA 18.2.2 kommt. Das installierte ich also gleich.
  • Außerdem habe ich noch ein Update des NVidia-Treibers auf Version 415 vorgenommen; keine Ahnung, ob das wirklich nötig war, denn das Steam Play-Problem trat auch schon mit Treiberversion 396 auf, obwohl es mit 396 vorher noch lief.

Jedenfalls hat nach einem abschließenden Neustart des Computers endlich alles wieder funktioniert. Die Spiele starten und sehen aus wie sie sollen. Wenn sowas nochmal passiert, werde ich also erstmal schauen, ob es an MESA liegt. Wieder was gelernt.

(Auch wenn ich nicht ganz verstehe, warum MESA überhaupt nötig ist, denn alles OpenGL- und Vulkan-bezogene sollte eigentlich über den NVidia-Treiber laufen und der wird mir mit dem Befehl glxinfo | grep „OpenGL version“ auch angezeigt. Oder muss ich noch extra die NVidia-Vulkan-Treiber installieren? Aber gut, Hauptsache, es läuft jetzt…)

Linux und Skyrim

Das Schreiben meines Buches „Technik vertrauen“ (erscheint 2019 bei Springer) hat mich dazu geführt, Windows 10 durch Linux (Ubuntu 18.04) zu ersetzen. Ubuntu ist jetzt auch nicht gerade das independent-mäßigste Linux, sondern selbst mit kommerziellem Hintergrund, dennoch ist die Kontrolle, die man dadurch über den eigenen Computer gewinnt, wesentlich wesentlich stärker. Ich hatte Ubuntu früher schon zu Dissertations-Zeiten benutzt, aber dann war ich doch eine ganze Weile mit Windows unterwegs. Aber das Befürfnis, mich davon wenigstens ein bisschen freizumachen, wuchs immer mehr (eben auch während des Schreibens des genannten Buches) und so habe ich neulich Windows komplett runtergeworfen und Linux installiert. Der Flugsimulator X-Plane, den ich auch nebenberuflich brauche, läuft sowieso unter Linux, und auch Software wie LibreOffice und GIMP habe ich eh schon unter Windows genutzt. Von daher war der Umstieg kein Problem. Aber es gab eine Sache (wirklich nur eine), die ich vermisst habe, und das war The Elder Scrolls Skyrim.

Die Welt der Elder Scrolls ist meine liebste Fantasy-Welt, weil ihre Landschaft und ihre teils sehr skurrile Hintergrundgeschichte ziemlich einzigartig und stellenweise sehr faszinierend ist. Daher war es mir schon wichtig, das Spiel weiter benutzen zu können. Es gibt andere Elder-Scrolls-Spiele, die individueller (Morrowind) oder landschaftlich abwechslungsreicher (Online) sind, aber Skyrim mag ich nach wie vor am liebsten.

Skyrim habe ich in Steam sowohl in der normalen als auch in der Special Edition. Über Steam Play kann man beide unter Linux installieren, indem man in den Steam-Einstellungen festlegt, dass man auch offiziell nicht unterstützte Spiele nutzen will:

Bildschirmfoto vom 2018-09-28 12-52-22

Das „Compatibility Tool“ namens Proton ist nichts weiter als eine vorkonfigurierte Version von WINE. Mit WINE kann man schon seit Jahren Windows-Programme unter Linux ausführen, muss bei Spielen aber oft viel basteln. Tools wie Play On Linux oder Lutris erleichtern diesen Vorgang, Steam Play ist im Prinzip nichts anderes, aber man muss halt nicht den Windows-Client von Steam installieren, sondern man kann die Windows-Spiele direkt vom Linux-Client aus verwenden. Das sieht fast normal aus, außer dass es neben dem „Spielen“-Button einen kleinen Hinweis gibt:

Bildschirmfoto vom 2018-09-28 12-52-59

Wie man auf dem Screenshot sieht, nutze ich die normale Version von Skyrim, nicht die Special Edition. Eigentlich ist letztere die bessere, weil sie u.a. eine 64-Bit-Anwendung ist und dadurch viel mehr Arbeitsspeicher nutzen kann. Ich habe auch probiert, sie mit Steam Play zu verwenden, aber es gibt dann Probleme mit der Tonausgabe, die ich nicht vollständig lösen konnte (aller Tipps und Tricks, die es dazu im Internet gibt, haben nicht geholfen). Die normale Version von Skyrim hingegen hat diese Probleme nicht.

Als Grafikkarte steckt eine ältere NVidia GTX960 in meinem PC. Die läuft mit NVidias offiziellem Treiber in Version 3.96 recht gut — insgesamt langsamer als unter Windows, aber so, dass man Skyrim in maximalen Einstellungen spielen kann. Man muss den Treiber vorher nur installieren (was in Ubuntu 18.04 mit ein paar Mausklicks erledigt ist):

Bildschirmfoto vom 2018-09-28 13-07-53

Damit läuft Skyrim stabil und stundenlang ohne Abstürze, inklusive Mods. Neben dem Basisspiel und den offiziellen DLCs (Dawnguard, Dragonborn und Hearthfire) habe ich folgende Mods installiert:

  • Beyond Skyrim: Bruma (ergänzt die Welt um den nördlichen Teil Cyrodiils rund um die Stadt Bruma)
  • Beyond Reach (ergänzt die Welt um den östlichen Teil High Rocks rund um die Stadt Evermore)
  • Summerset Isle (ergänzt die Welt um die Provinz Summerset)
  • Forgotten City (eine große unterirdische Stadt mit einer Geschichte, deren Autor dafür einen Preis gekriegt hat)

Das sind jeweils riesige neue Gebiete, die gut zum Grundspiel passen und sich wunderbar einfügen. Für unverzichtbar halte ich außerdem diverse Mods, die aus Skyrim ein Survival-Spiel machen:

  • Frostfall (man muss sich warm halten durch Kleidung, Feuer u.ä.)
  • Realistic Needs and Diseases (man muss essen und trinken)
  • Hunterborn (wenn man Wildtiere jagt, erhält man nicht automatisch irgendwelche Gegenstände wie Nahrung und Fell, sondern man muss Zeit investieren, um sie zu verarbeiten)
  • Campfire (man kann Zelte, Schlafsäcke usw. kaufen und Lagerfeuer machen)

Dazu kommen diverse kleinere Mods, wie der Unofficial Skyrim Patch (verbessert hunderte Fehler und Kleinigkeiten), SkyUI (bessere Benutzeroberfläche), Skyrim Script Extender (nötig für die ganzen Survival Mods und SkyUI, außerdem verbessert er das Speichermanagement des Spiels), Alternate Start (für unterschiedliche Möglichkeiten, das Spiel zu beginnen), diverse Modifikationen für das Winterhold College und andere kleine Sachen.

Mehr als das braucht man eigentlich nicht. Auf aufwendige Grafikmods (oder auch nur die offiziellen optionalen hochauflösenden Texturen) würde ich verzichten, da die normale Version von Skyrim nicht so viel Speicher adressieren kann und das Spiel ehrlich gesagt auch so immer noch sehr atmosphärisch aussieht. Rein technisch gibt es heute natürlich bessere Spiele, aber an sich kann sich Skyrim nach wie vor sehen lassen.

ScreenShot2

Wer also möchte ich diesmal sein …?