Valve Projekt "Proton". Windows Spiele unter Linux via Steamplay als Steam Beta

TempestX1

Software-Overclocker(in)
Im Jahr 2010 hat Valve das erste Mal Steamplay veröffentlicht mit dem Entwickler von Spielen über Steam ihre Spiele auch für Linux anbieten konnten. In der Zwischenzeit entwickelten Valve Mitarbeiter in mehreren Bereichen bezüglich der Linux Unterstützung. Ihr GitHub Projekt Proton wurde nun in der Steam Beta integriert. Hiermit ist es möglich Windows Spiele auch unter Linux via Steamplay zu spielen, die keine offizielle Linux Unterstützung bieten.
Zur Zeit befindet es sich noch in der Betaphase und unterstützt aktuell folgende Spiele, wobei die offizielle Liste nach und nach erweitert wird



Doch selbst wenn das gewünschte Spiel von Valve noch nicht in die Liste eingepflegt wurde, ist es möglich die nicht gelisteten Spiele über Steamplay zu spielen.

Hierdurch können die Spiele unter Linux gespielt werden, selbst wenn keine offizielle Linux-Unterstützung durch die Hersteller geboten wird. Zudem wird Unterstützung für Steamworks und OpenVR angeboten. DirectX 11 und 12 Spiele werden über Vulkan ausgegeben, hierfür nutzt Valve unter anderem auch ihr eigenes GitHub Projekt DXVK, welches für die Umsetzung entwickelt wurde. Neben den Valve eigenen Projekten wird auch auf Wine zurückgegriffen, welches jedoch stärker modifiziert wurde und die Verbesserungen auch upstream wieder an das Wine Projekt zurückfliesen werden.

Mehr Infos im Newspost von Valve
https://steamcommunity.com/games/221410/announcements/detail/1696055855739350561

News bei Phoronix
https://www.phoronix.com/scan.php?page=news_item&px=Valve-Steam-Play-Proton-Linux
 
Zuletzt bearbeitet:
Das ist eine gute Nachricht, dass man bei Valve daran arbeitet, mehr Windows Spiele unter Linux zum Laufen zu bringen.

Leider wird ausdrücklich darauf hingewiesen, dass bei Spielen ohne Vulkan API Leistungseinbußen zu befürchten sind.
Zudem wird darauf hingewiesen, dass es Spiele geben wird, welche nie unter Linux laufen werden wegen DRM oder Anticheat Systemen, sehr schade.

Ich habe mal nebenbei das Video gesehen:
YouTube

Werde es mir mal genauer anschauen müssen, wie dort vorgegangen wird.

Ich bin sehr interessiert daran, mein System auf Linux umzustellen.
Server und Laptop laufen mit Linux.

Aber solange ich nicht alle games unter Linux spielen kann, wird der Desktop auf Windows bleiben.


Eine Gaming VM mit Hardware Passtrough ist mir zu viel Gebastel.

Eventuell bekomme ich ja noch neue Infos aus dem Video von Linus.
 
Wer das ganze mal ausprobieren möchte, bitte auch unbedingt das hier beachten, sonst wird es Abstürze und/order schlechte Performance geben.

Bislang scheinen viele Spiele noch Probleme zu machen, die ansonsten relativ problemlos mit wine bzw. wine-staging laufen (etwa Dishonored 2, Monster Hunter World, ...) - mal sehen, was sich da noch tut. Bis dahin sollte Lutris Abhilfe schaffen.

Leider wird ausdrücklich darauf hingewiesen, dass bei Spielen ohne Vulkan API Leistungseinbußen zu befürchten sind.
Dass D3D-Spiele nicht mit nativer Performance laufen, sollte klar sein, die Übersetzung von D3D7/8/9 auf OGL hat gewaltigen CPU-Overhead und bei D3D11->Vulkan kleben bislang vor allem Nvidia-Karten deutlich eher im GPU-Limit als unter Windows, und auch da ist der CPU-Overhead teils deutlich höher als mit nativem D3D11 unter Windows.

Schade, dass die meisten Spiele mit Frostbite-Engine nur auf Origin vertrieben werden, denn die Engine ist, was D3D11 angeht, hervorragend optimiert und läuft insgesamt auch sehr gut unter Linux, aber Origin artet mit Wine gerne mal in Fummelei aus.

Eventuell bekomme ich ja noch neue Infos aus dem Video von Linus.
Das LTT-Video ist... naja. Besteht zur Hälfte aus einem Kernel-Update und zur anderen Hälfte aus VMs.

Wendell geht auf seinem Linux-Channel etwas mehr ins Detail.
 
Zuletzt bearbeitet:
Wer das ganze mal ausprobieren möchte, bitte auch unbedingt das hier beachten, sonst wird es Abstürze und/order schlechte Performance geben.

Das wird natürlich ausprobiert. Werde mir auf Steam jetzt erstmal Nier: Automata gönnen.

Sag mal: Hast Du eigentlich irgendwas mit dem DXVK-Autor zu tun oder habt ihr nur zufällig den gleichen Avatar?
 
Ich bin der DXVK-Entwickler ;)

Wow. Hut ab!
Habe die letzten zwei Wochen mit Deiner Bibliothek GTA V gespielt. Und das läuft damit so gut wie noch nie. Es macht jetzt endlich mal richtig Spaß das Game unter Linux zu spielen. Ohne DXVK lief es zwar auch irgendwie, aber eine wirkliche Freude war das nicht. Jetzt möchte man mit dem Testen gar nicht mehr aufhören.

Weißt Du zufällig wie ich in Steam/Proton den DXVK_HUD aktivieren kann? Über Lutris lasse ich den immer mit den Optionen devinfo,fps,frametimes,drawcalls,memory laufen, was ich als sehr hilfreich empfinde, um mitzubekommen, wenn die Karte es nicht mehr ganz packt. Gerade die Frametimes-Anzeige ist da super. Da sehe ich sofort, wenn ich es in den Optionen übertrieben habe.
 
Wie sieht das denn mit DX9/10 Spielen aus? Die würden dann weiter über OpenGL laufen?

Wo bekommt man denn einen aktuellen Mesa her? Bei mir wird Version 10.1.3 angezeigt. Bei Git ist aber von Version 18.2 die rede. Gab es da so große Sprünge?

Aus dem anderen Thread:
In der neuen Steam-Beta soll die Funktion schon drin sein: Steam: Windows-Spiele laufen jetzt auch unter Linux |
heise online


Edit: Gerade mal auf meinem Laptop getestet. Hab kein Spiel zum laufen bekommen. Bei Anno 1404 schwarzer Bilschirm mit Sanduhr und bei FC2 nach dem Intro auch nur ein Schwarzer Bildschirm.
 
Zuletzt bearbeitet:
Wie sieht das denn mit DX9/10 Spielen aus? Die würden dann weiter über OpenGL laufen?

DXVK unterstützt inzwischen auch DX10. Für DX9 gibt es meines Wissens VK9. Wird aber, glaube ich, noch nicht produktiv eingesetzt. DX9 Titel machen meistens ja auch weniger Probleme, weil sie einfach schon älter sind und halbwegs aktuelle Hardware den OpenGL-Layer ohne größere Probleme mit durchzieht.
 
Wie sieht das denn mit DX9/10 Spielen aus? Die würden dann weiter über OpenGL laufen?
Dx9 läuft über OpenGL, VK9 ist noch nicht in einem nutzbaren Zustand. Um offiziellen Dx10-Support hat sich bisher glaube ich niemand wirklich Gedanken gemacht, die DXVK-Version in Proton kann das noch nicht, in Zukunft sollte aber auch das laufen.

Wo bekommt man denn einen aktuellen Mesa her? Bei mir wird Version 10.1.3 angezeigt. Bei Git ist aber von Version 18.2 die rede. Gab es da so große Sprünge?
10.1.3? Das ist ja von 2014, was hast du für eine Distro im Einsatz?

Die Versionsnummern wurden Anfang 2017 umgestellt, da ging es direkt von 13.x.y => 17.0.0, wobei die erste Zahl fürs Jahr steht.

Weißt Du zufällig wie ich in Steam/Proton den DXVK_HUD aktivieren kann?
Hab gerade keinen Zugang zu meinem Hauptrechner, um das zu testen, aber zwei Dinge müssten funktionieren:

- In den Steam-Startoptionen für das jeweilige Spiel folgendes eintragen:
Code:
DXVK_HUD=fps,bla,bla,bla %command%

- Oder einfach Steam selbst mit der entsprechenden Environment Variable starten:
Code:
DXVK_HUD=... steam-runtime

Global müsste man das auch irgendwo in dem Proton-Script selbst hinterlegen können (steamapps/common/Proton 3.7/proton), welches allerdings mit jedem Update überschrieben wird.
 
Uff, diese Update-Politik ist der Grund, warum ich persönlich Mint allenfalls mit Gummihandschuhen anfassen würde - Updates für Kernel, Grafiktreiber und ähnliche Systemkomponenten musst du da irgendwie manuell anstoßen, aber frag mich jetzt bitte nicht, wie das bei Mint genau geht. Die Distribution ist da schon etwas speziell.

Allerdings muss man dazu sagen, dass die HD4000 generell mit Einschränkungen zu kämpfen haben wird. OpenGL sollte wohl funktionieren für ältere Dx9-Spiele, aber Vulkan wird erst ab Broadwell vollständig unterstützt, den älteren Intel-GPUs fehlt es da schlicht und einfach an Hardware-Features.
 
- In den Steam-Startoptionen für das jeweilige Spiel folgendes eintragen:
Code:
DXVK_HUD=fps,bla,bla,bla %command%

Genau das hat jetzt bei Nier: Automata bestens funktioniert. Und ich denke, es wird auch bei anderen Spielen, die über DXVK rendern, so funktionieren, da DXVK wahrscheinlich einfach diese Umgebungsvariable auswertet und dann die gewünschten Werte anzeigt.

Falls Du Tester brauchst, lass es mich wissen. Meine Specs: i7 6700K, GTX 970, 16GB RAM, aktuell Nvidia-Treiber 396.51. Betreibe bei Kindern und Jugendlichen noch mehrere Linux-Systeme mit GTX 1050 bzw. 950 Karten. Wir nutzen alle Xubuntu, also Ubuntu mit Xfce-Desktop. Mein Nick auf Steam und Twitch ist ebenfalls 1xok.

EDIT/Nachtrag:

Hier ein erster Stream von Nier: Automata:

YouTube

Ich habe das Spiel zum ersten mal in meinem Leben gespielt. Ich besitze auch noch eine PS4, aber ich wollte es unbedingt zuerst unter Linux spielen. Es ist wunderschön und ich habe den ersten Stream einfach mal ohne jegliche Debug-Ausgabe gemacht. Ich wusste natürlich schon vorher, dass es ein besonderes Spiel ist, aber die Atmosphäre hat mich trotzdem überrascht. Es ist ein echtes Kunstwerk.

Technisches: Ich komme mit meiner 970er eigentlich nie an die 60 FPS heran, außer im Menü oder wenn das Spiel pausiert. Der Stream wurde auf 720p herunterskaliert. Gespielt habe ich unter 1080p. Allzu große Unterschiede bemerkte ich bei den verschiedenen Einstellungen nicht. Nur die Kantenglättung schien sich merklich auszuwirken. Ich hatte heute ein wenig getestet und war nach einigen eigenen Anpassungen und herumprobieren letztlich bei den mittleren Einstellung gelandet, die das Spiel selbst als Preset vorgibt. Dabei ist die Kantenglättung bezeichnenderweise komplett deaktiviert.

Im Spiel selbst stört mich das letztlich als Gamer nicht. Aber für Dich ist es als Rückmeldung vielleicht interessant. Ich glaube, Du arbeitest bevorzugt mit AMD-Karten.

Eine Bemerkung noch: Bei allen Einschränkungen ist es phantastisch ein Spiel wie Nier: Automat unter Linux nun einfach installieren und spielen zu können.
 
Zuletzt bearbeitet:
Aber für Dich ist es als Rückmeldung vielleicht interessant. Ich glaube, Du arbeitest bevorzugt mit AMD-Karten.
Valve Angestellte entwickeln aktiv bei der Treiberunterstützung der freien Treiber für AMD Karten mit, von daher ist es klar das mit AMD Karten gearbeitet wird :) Zudem sind die AMD Treiber OpenSource, was in der Linux Welt ein extremer Pluspunkt gegenüber den proprietären von Nvidia ist.

Valve & RADV Developers Are Topping Contributions To Mesa This Year - Phoronix

Möchte hierbei auch VikingGe und seinem Kollegen/seinen Kollegen für DXVK danken. :daumen:
 
Zuletzt bearbeitet:
Ich komme mit meiner 970er eigentlich nie an die 60 FPS heran, außer im Menü oder wenn das Spiel pausiert.
Bestätigt einmal mehr, dass zumindest ältere Nvidia-Karten insgesamt deutlich schlechter mit DXVK laufen als vergleichbare AMD-Modelle, und dieses Spiel scheint da auch ein Extremfall zu sein. Auf meiner RX 480 läuft es z.B. mit konstanten 60 FPS, auf 1080p ohne MSAA.

Nebenbei scheint Proton derzeit langsame Debug-Builds von DXVK zu haben. Das sollte für Nier auf einer halbwegs aktuellen CPU kein großes Problem sein, aber in anspruchsvolleren Spielen kann die Performance extrem leiden. Bug-Report hier.

Freakless08 schrieb:
Zudem sind die AMD Treiber OpenSource, was in der Linux Welt ein extremer Pluspunkt gegenüber den proprietären von Nvidia ist.
Das ist in der Tat ein riesiger Pluspunkt, denn
a) es erlaubt mir, deutlich genauere Bugreports zu schreiben, falls mal irgendwas nicht läuft, oder bei einfacheren Sachen das Problem auch selbst zu lösen, und
b) wird dadurch auch die die Zusammenarbeit mit den Treiber-Entwicklern angenehmer, wenn man mal eben kurz einen Patch testen soll oder sowas.

Ich meine, ich will nicht über Nvidia meckern, die beheben ihre Treiberprobleme auch, sobald sie jemand findet (außer hust Vsync, aber das betrifft auch RPCS3 und andere Vulkan-Projekte), und sie meckern auch mal, dass mein Code irgendwie Blödsinn macht, der zufällig mit den AMD-Treibern funktioniert o.ä., aber wäre es ein reines Hobby-Projekt geblieben, sähe das womöglich auch anders aus.

Und Nvidia-Nutzer haben v.a. keine Möglichkeit, mal eben einen Patch zu testen.
 
Zuletzt bearbeitet:
ich muss mir das heute Abend mal dringend anschauen.
Habe von DXVK noch nie was gehört, wenn ich damit aber wenigstens einen Großteil meiner Games unter Linux lauffähig bekommen würde.

Bin ich schwer am überlegen am WE auf Linux umzuschwenken.

Werde mich da heute Abend reinlesen.


EDIT:
Kurze Frage vorweg, bekomme ich damit auch Origin / Uplay / Battlenet zum laufen?

Noch mal EDIT:
Welche Distro nutzt Ihr dafür eigentlich?
Fand Mint immer ganz angenehm, das aktuelle ubuntu finde ich etwas überladen.

Bin am überlegen mir ein Arch einzurichten, hatte schon öfter mit Linux was zu tun und kenne die Basics.
Bin trotzdem am Überlegen es mir leicht zu machen und mir einfach Manjaro zu nehmen.

Was setzt Ihr so ein?
 
Zuletzt bearbeitet:
shadie schrieb:
Kurze Frage vorweg, bekomme ich damit auch Origin / Uplay / Battlenet zum laufen?
Mit Proton selbst eher nicht, aber Lutris hat für diverse Blizzard-Spiele eigene Installationsscripte. Generell sollen die wohl gut laufen.

Uplay funktioniert relativ gut mit wine-staging (aber IIRC nicht mit "normalen" wine-Builds), bei neueren Ubisoft-Spielen (etwa Far Cry 5, AC:Origins) macht aber das DRM Probleme, und man muss bei allen Spielen das Overlay deaktivieren.

Origin ist sehr zickig (und einfach eine furchtbare Software). Funktioniert, wenn man Glück hat, mit wine-staging, man muss aber sämtliche Overlays und v.a. Auto-Updates des Clients deaktivieren, aber die Spiele sollten weitesgehend laufen (insb. auch die aus eigenem Hause mit Frostbite-Engine). Allerdings gibts auch dafür Lutris-Skripte.

Multiplayer-Spiele mit Battleye und/oder EasyAntiCheat funktionieren gar nicht oder nur hin und wieder eher zufällig (Stichwort Fortnite), und auch einige Denuvo-Versionen scheinen wieder Probleme zu machen (die Steam-Version von Final Fantasy XV startet nicht, Yakuza 0 und Monster Hunter World laufen aber). Beides Dinge, an denen in Zukunft noch gearbeitet werden muss.

shadie schrieb:
Welche Distro nutzt Ihr dafür eigentlich?
Ich bin mit Arch unterwegs, und generell würde ich etwas empfehlen, wo man leicht an sehr aktuelle Grafiktreiber kommt (also in erster Linie Ubuntu oder eben Arch).

Bei deiner R9 390 wird standardmäßig der ältere radeon-Kerneltreiber aktiv sein, weil amdgpu für ältere Karten immer noch nicht offiziell unterstützt wird (und auf meinem Kaveri-Notebook funktioniert es im Moment auch nicht richtig) - lässt sich aber mit zwei kurzen Handgriffen ändern. Das ist leider nötig, weil man sonst keinen Vulkan-Support hat.
 
Zuletzt bearbeitet:
Uff, diese Update-Politik ist der Grund, warum ich persönlich Mint allenfalls mit Gummihandschuhen anfassen würde - Updates für Kernel, Grafiktreiber und ähnliche Systemkomponenten musst du da irgendwie manuell anstoßen, aber frag mich jetzt bitte nicht, wie das bei Mint genau geht. Die Distribution ist da schon etwas speziell.

Muss man halt manuell in der Konsole über "sudo apt-get dist-upgrade" machen.

Mit Mint 19 wurde die Aktualisierungsverwaltung aber auch verbessert. (Siehe Bilderstrecke)
Linux Mint 19 freigegeben: Modifiziertes Ubuntu 18.04 mit Snapshot-Funktion | heise online
 
Muss man halt manuell in der Konsole über "sudo apt-get dist-upgrade" machen.

Mit Mint 19 wurde die Aktualisierungsverwaltung aber auch verbessert. (Siehe Bilderstrecke)
Linux Mint 19 freigegeben: Modifiziertes Ubuntu 18.04 mit Snapshot-Funktion | heise online

Du brauchst für DXVK aber die aktuellen Treiber. Für Nvidia-Karten den Current-Short-Lived-Branch aus dem graphics-drivers PPA. Das ist bereits für Ubuntu "unsupported" aber immerhin dafür getestet. Ich würde es jetzt nicht auch noch mit so was wie Mint kombinieren wollen, auch wenn viele das tun.

Cinnamon, Mate und Xfce gibt es auch für Ubuntu. Letztere beiden sogar als offizielles Flavour:

Ubuntu flavours | Ubuntu

Unterm Strich macht Mint die Sache einfach nur komplizierter, instabiler und schlechter supported ohne dabei irgendeinen Vorteil zu bringen.
 
Hab keine Nvidiakarte drin, sondern eine Intel HD 4000. Die kann aber eh kein Vulkan, s.o.

Nutze Mint schon seit Version 8, Nachteile habe ich bisher nicht gemerkt.
 
Zurück