Infos zu Linuxguides: Steam Proton

XXXBold

Ensign
Registriert
Aug. 2019
Beiträge
166
Inhaltsverzeichnis
Übersicht
Erforderliche Vorkenntnisse
Was ist Proton
Globale Einstellungen
Spielspezifische Einstellungen
Für Steamfremde Anwendungen
Hilfe und Support
Empfehlungen/Erfahrungen des Autors
Feedback, Kritik, Wünsche
Änderungen
TODO-Liste

Übersicht

Dieser Thread enthält allgemeine Informationen zu Steam Proton und dessen Verwendung.
Wichtig: Dies ist KEINE Anleitung für das Nutzen von Steam Proton auf einer bestimmten Distribution oder für einen bestimmten Zweck!

Erforderliche Vorkenntnisse

Dieser Thread wird bei Bedarf von einem Guide für Linux verlinkt. Es ist nötig, dass Steam bereits installiert wurde. Kenntnisse über WINE/WINE-Prefixe werden vorausgesetzt, mehr dazu hier. Englischkenntnisse sind erforderlich, um weiterführenden Quellen zu folgen und vorallem, um Informationen zur Kompatibilität einer Applikation zu finden und anzuwenden.
Für Allgemeines (als Einstieg) zu Linux auf dem Desktop dient der Meta-Guide.

Was ist Proton

Proton ist ein Fork von WINE, welcher von Valve entwickelt wird. Der Quellcode von Proton ist Opensource steht auf Github zur Verfügung: https://github.com/ValveSoftware/Proton

Zusätzlich zu WINE enthält Proton folgendes:
  • Viele zusätzliche Bugfixes, vorallem was Spiele betrifft
  • DXVK/D9VK sind per default mit an Bord
  • Integration in Steam
Die Versionen von Proton entsprechen in der Major und Minor Version dem zugrundeliegenden WINE (Proton 4.11.x -> Basis WINE 4.11), die Patchversion ist Protonspezifisch.
Aktualisiert wird Proton über Steam beim Erscheinen einer neuen Patchversion, wobei die letzte Patchversion überschrieben wird.

Proton kann für alle Windowsspiele verwendet werden. Diese Option muss in Steam allerdings zuerst in den Einstellungen aktiviert werden:
steam-settings-proton.png

Proton wird nun bei Bedarf selbstständig von Steam heruntergeladen.

Für jedes Spiel wird ein eigenes WINE-Prefix angelegt. Diese Prefixe befinden sich in der jeweiligen Steambibliothek, wo das Spiel installiert ist, im Verzeichnis unter: ".../steamapps/compatdata/".
Die Namen der Prefixe entsprechen der ID des Spiels in Steam, darunter wird nochmals ein Ordner mit dem Name "pfx" für das eigentliche Prefix angelegt. Diese ID findet ihr z.B. in der URL der Shopseite des jeweiligen Spiels.
Beispiel für Mass Effect 2: https://store.steampowered.com/app/24980/Mass_Effect_2/ -> Hier entspricht die 24980 der ID, der Pfad des WINE-Prefixes für Mass Effect 2 ist also ".../steamapps/compatdata/24980/pfx".

Achtung! Die Spiele selbst werden NICHT in diese Prefixe installiert, sondern befinden sich im Ordner ".../steamapps/common/". Die Prefixe enthalten aber Konfigurationsdateien/Savegames usw. des jeweiligen Spiels. Bevor das Prefix angelegt wird, muss das Spiel erstmalig gestartet werden.

WINE-Prefixe für Proton enthalten von Haus aus viele .DLL-Überschreibungen. Diese können wie bei einem normalen WINE-Prefix mit winecfg/winetricks angesehen/bearbeitet werden.
winecfg-protonpfx.png


Proton bietet ausserdem via Umgebungsvariablen einige Konfigurationsoptionen an, welche in WINE nicht verfügbar sind, damit kann z.B. einfach zwischen WINED3D und DXVK umgeschaltet werden.
Um diese Umgebungsvariablen zu nutzen, können diese entweder direkt für jedes Spiel eingestellt werden, oder (was zum Testen einfacher ist) in der globalen Konfiguration gesetzt werden.
Die verfügbaren Optionen finden sich hier: https://github.com/ValveSoftware/Proton (Abschnitt am Ende, "Runtime Config Options")

Globale Einstellungen

Im Installationsverzeichnis von Proton ($HOME/.steam/steam/steamapps/common/Proton <Proton-Version>/, variiert eventuell je nach Distro!) befindet sich die Datei "user_settings.sample.py".
Um diese Datei zu verwenden, kann sie in "user_settings.py" umbenannt werden (Backup vorher anlegen!). Darin können nun globale Einstellungen für die aktuelle Protonversion vorgenommen werden.
In der Datei befinden sich bereits viele Optionen, viele davon inaktiv, und können bei Bedarf aktiviert/geändert werden.
Weiter können auch direkt die Umgebungsvariablen für DXVK eingestellt werden.

Spielspezifische Einstellungen

Um nur für ein Spiel gewisse Optionen zu setzen, können im Steamclient über die Eigenschaften die Startparameter eingestellt werden. Die Optionen sind dieselben wie auch für die globalen Einstellungen.
Mehrere Optionen können hintereinander eingetragen werden, gefolgt am Ende von %command%.

Spieleeigenschaften öffnen:
steam-library-game-properties.png

Ein Klick auf die Schaltfläche "Startoptionen festlegen..." öffnet ein Fenster zur Anpassung der Startparameter.
steam-game-properties-launchoptions.png


Weiter kann für ein Spiel eine bestimmte Protonversion forciert werden, falls die neuste Probleme machen sollte (Allgemein ist es empfehlenswert, zuerst mit der neusten verfügbaren zu testen).
Auch für native Linuxspiele kann Proton forciert werden, was dazu führt, dass die Windowsversion des Spiels heruntergeladen und verwendet wird.
steam-game-properties-comptool.png


Proton für Steamfremde Anwendungen nutzen

Proton kann auch für externe (Nicht-Steam) Anwendungen verwendet werden. Dazu kann in Steam die betreffende .exe als Fremdanwendung hinzugefügt und Proton als Kompatibilitätswerkzeug eingestellt werden.

Eine Verwendung von Proton ohne Steamclient ist ebenfalls möglich.
Dazu können folgende Zeilen in ein Script eingetragen werden, welches zum Starten der Wunschapplikation verwendet werden kann.
Bash:
#Dieser Pfad muss auf ein existierendes Verzeichnis zeigen. In diesem wird danach ein Unterverzeichnis "pfx" erstellt/verwendet, welches das WINE-Prefix enthält.
#Wenn gewünscht, kann auch ein vorhandenes Prefix eines Steamspiels verwendet werden.
export STEAM_COMPAT_DATA_PATH=$HOME/myprotonrun/pfxNo1
#Dieser Pfad zeigt auf die aktuelle Installation von Proton
export PROTON_RUN_DIR="$HOME/.steam/steam/steamapps/common/Proton 4.11/proton"
#Pfad zur auszuführenden Applikation
export MY_RUN_EXE_PATH="/my/path/to/application.exe"

#Zum starten
"$PROTON_RUN_DIR" run $MY_RUN_EXE_PATH

Hilfe und Support

Empfehlungen/Erfahrungen des Autors

Mithilfe von Proton können unter Steam viele Windows-only Spiele mittlerweile relativ einfach unter Linux zum laufen gebracht werden. Ich nutze Proton selber für Steamspiele und auch für einige externe Anwendungen und habe damit gute Erfahrungen gemacht.

Sofern ein Spiel sowieso auf Steam vorhanden ist, würde ich auf jeden Fall diesen Weg empfehlen.

Feedback, Kritik, Wünsche

Für Feedback/Wünsche zu diesem Beitrag: Hier rein. Für Verbesserungsvorschläge: Bitte zuerst die TODO-Liste prüfen, ob das Thema bereits vorhanden ist. Wollt ihr selber ein Kapitel für das Thema schreiben, bitte ich um Kontaktaufnahme per PN.
Der Thread wird von mir nach bestem Wissen und Gewissen erstellt. Es ist möglich, dass einige Information nicht 100% korrekt oder unvollständig sind, für Hinweise bin ich dankbar, auch gerne per PN wenn ihr nicht direkt hier posten wollt.

Änderungen

  • 05.01.2020: Thread erstellt
TODO-Liste

  • Alternative Versionen (GE) installieren/nutzen
 
  • Gefällt mir
Reaktionen: Niko-P, anarchopreussin, Wun Wun und 3 andere
Wäre super, wenn die ganzen einzelnen Artikel/Guides zum Schluss in einer Linksammlung zusammengefasst und z. B. im Linux-Subforum angepinnt würden :)
 

Ähnliche Themen

Zurück
Oben