Windows Spiele unter Linux - Eine Einführung

N

Nebulus07

Guest
Hi,

heute schreibe ich mal ein wenig über mein liebstes Thema... Spielen unter Linux!
Vielen dürfte Linux ein Begriff sein aber die wenigsten wissen, dass es möglich ist, auch alle! Windowsspiele unter Linux zu spielen. Seit Jahren beschäftige ich mit dem Thema und es gab immer eine Ausrede doch das schöne Windows zu starten. Aber seit c.a. einem Jahr gibt es diese Ausreden nicht mehr. Denn Linux Gaming ist Alltagstauglich.

Was genau war das Problem und wieso lief unter Linux früher kein Spiel so richtig gut?
Das Problem war wie immer, die Softwarefirmen hatten kein Interesse Arbeit (Arbeit=Geld) zu investieren und ihre Spiele für Linux zu portieren. Und das hatte den einfache Grund, es gab unter Linux kein DirectX. 98% aller Spiele nutzen die Microsoft DX Schnittstelle für die 3D Grafik. 2% nutzen die Opengl Schnittstelle. Vulkan wird erst seit einem Jahr, nennenswert von Spielen genutzt. Zurück zum Thema, also war das Problem, die Software nutz DX, Linux hat es nicht. Was nun? Die Spiele mussten also umständlich portiert werden. Und das war den Aufwand nicht Wert. Denn unter Linux gibt es keine Gamer, weil es keine Spiele gibt, ein Teufelskreis.

Dann kam Steam!
Steam wollte immer frei sein! Und hatte immer die große Angst, das Microsoft ihren Steamstore unter Windows behindern könnte. Denn MS möchte natürlich lieber dass die Leute ihre Software im MS Store kaufen und da ihr Geld ausgeben. Das war Steam immer bewusst und so fuhr Steam immer zweigleisig. In den letzten Jahren wurden immer mehr Spiele auch für Linux portiert. Am Anfang noch eine echte Portierung, mit DX->nach openGL. Neuerdings wird nur noch Proton genutzt um Windowsspiele ohne Portierung unter Linux laufen zu lassen. Steam unterstützt die Proton Entwicklung durch Geld und Man-Power.

Was ist Proton?
Proton ist eine Fork des Wine Projektes. Welches es erlaubt Windows Software unter Linux laufen zu lassen, ohne auch nur eine Microsoft dll zu nutzen. Wine hat es geschafft das komplette Windows "nachzubauen". Jede Microsoft Bibliothek liegt als OpenSource vor und wrapped die MS API nach Linux um. Wobei es auch möglich ist original Bibliotheken von MS zu nutzen. Falls der "Nachbau" nicht zufriedenstellend laufen sollte.
Leider war das Wine Projekt nie so wirklich so weit, neue Windows Spiele laufen zu lassen. Es scheiterte an der 3D Unterstützung. Und nun kommt Proton ins Spiel.
Das Proton Projekt, erweitert Wine, um einen DX9-10-11-12 wrapper nach Vulkan. Der DirectX12 wrapper nach Vulkan heißt vkd3d.

Was ist vkd3d?
Eine absolute Glanzleistung! vkd3d ist ein Nachbau der DX12 Schnittstelle. Hierbei wird die DX12 Bibliothek unter Linux neu compiliert und setzt die entsprechenden API-Aufrufe in Vulkan Aufrufe um.
Es ist sogar möglich die DX12 Bibliothek unter Windows zu nutzen und man kann dann unter Windows jedes DX12 Spiel als Vulkan Spiel laufen lassen. Aber zurück zu Linux! Dank dieser Erweiterung, die man als Plugin für Wine sehen kann, erweitert man Wine um DX12 und zwar so gut, dass JEDES DX12 Spiel läuft.

Und dann gibt es noch dxvk.
Das gleiche Prinzip wie vkd3d, nur dass hier DX9-11 nach Vulkan umgesetzt wird.

Im Grunde haben wir unter Linux nun die Möglichkeit alle Windows Spiele native laufen zu lassen, ohne auch nur eine Microsoft Bibliothek zu nutzen und ohne auch nur einen MS Treiber. Und als Clou noch oben drauf, komplett als OpenSource. Selbst Steam benötigt man nicht mehr. Wenn man die Spiele bei GOG kauft laufen diese sofort mit Wine unter Linux.

Wie gut läuft es?
Ich wollte einfach mal ein neues Spiel ausprobieren und habe mal Frostpunk bei GOG gekauft. Das ist ein DX11 64Bit Windows Spiel.
Neuste Wine Version 6.9 compiliert + Git Version von dxvk compiliert und los gehts!
Starten des Games mit:
DXVK_HUD=1 wine64 Frostpunk.exe

Und es läuft. Im Vollbildmodus genau so gut wie unter Windows. Kein Unterschied fest zu stellen.

Im Grunde ist Linux endlich Reif fürs Gaming!
 

Anhänge

  • wayland-screenshot-2021-06-02_12-02-11.png
    wayland-screenshot-2021-06-02_12-02-11.png
    1,2 MB · Aufrufe: 93
  • wayland-screenshot-2021-06-02_12-02-47.png
    wayland-screenshot-2021-06-02_12-02-47.png
    1,6 MB · Aufrufe: 89
  • wayland-screenshot-2021-06-02_12-03-37.png
    wayland-screenshot-2021-06-02_12-03-37.png
    1,6 MB · Aufrufe: 82
  • wayland-screenshot-2021-06-02_12-41-30.png
    wayland-screenshot-2021-06-02_12-41-30.png
    1,7 MB · Aufrufe: 77
  • wayland-screenshot-2021-06-02_12-51-45.png
    wayland-screenshot-2021-06-02_12-51-45.png
    2,1 MB · Aufrufe: 75
Geht es auch ohne manuelles Kompilieren mit Paketen aus dem Paketmanager?

Welche Distri/Kernel/Grafiktreiber nutzt du?

Wie ist die Performance im Vergleich zu nativ unter Windows?
 
Geht es auch ohne manuelles Kompilieren mit Paketen aus dem Paketmanager?

Welche Distri/Kernel/Grafiktreiber nutzt du?

Wie ist die Performance im Vergleich zu nativ unter Windows?

Leider sind die Proton Vulkan Wrapper nicht bei einem normalem Wine oder einer Distribution dabei. Denn die sind normalerweise nur beim Steam-Wine dabei. Der Clou ist, sich aus dem git einfach den proton Krempel selber zu kompilieren. Damit braucht man kein Steam mehr. ( Wenn die Spiele DRM frei sind )

Im Grunde braucht man nur:
- das Vulkan SDK
- und mingw
dafür sollte es Pakete geben.

Dann das wine 6.9 compilieren (vorher alles was mit wine zu tun hat, deinstallieren)

Dann das git clone von:
und

Dabei nach der Anweisung in den READMEs vorgehen.

Ich nutze ein selbstgebautes LFS 64Bit Linux. Neuster Kernel und den vulkan Treiber aus dem mesa-git. Einfach von mesa das git clonen und compilieren. Gibt es aber auch als fertiges Paket bei jeder Distribution dabei. Allerdings gilt hier, je älter, je schlechter.

Die Performance ist genau so gut wie unter Windows. Viele Benchmarks habe ich jetzt nicht gemacht. Aber Witcher3 hat genau die gleiche FPS, wie unter Windows10 bei mir.
 
Da die Notebooks mit AMD-GPU nun wohl eh noch ein paar Monate brauchen, gibt es dann vielleicht auch fertige Pakete für die klassischen Distris wie Mint.
 
Worin besteht der Unterschied zu Proton?

Hat mal jemand aktueller Uplay-Games zum testen?
(Far Cry, WatchDogs, GhostRecon)
 
Zuletzt bearbeitet:
Worin besteht der Unterschied zu Proton?
Da Proton ja der Kern all dessen ist, was Windwos Games unter Linux überhaupt erst ordentlich laufen lässt, keiner. Man muss sich mit den Installscripts lediglich nicht mehr mit Kompilierung oder dem manuellen Auflösen von Abhängigkeiten rumärgern.
 
Habe keine Ahnung vom coden/ compilieren..

Ist das sehr schwer? Kann ich dabei was kaputt machen?

Muss man das einmal machen oder für jedes Spiel einzeln?

Funktioniert lutris zuverlässig?

Grüße :)
 
Habe keine Ahnung vom coden/ compilieren..

Ist das sehr schwer? Kann ich dabei was kaputt machen?
Schwer ist es nicht. Im Grunde ist es so, dass man das Programm im Rohzustand als eine Art Bauplan hat und dann mit sog. Compilern grob gesagt zu einer ausführbaren Datei macht. Das macht man aber eher selten, denn so gut wie alle Programme liegen wie bei Windows als installierbare bzw ausführbare Datei vor. Wenn man so will, dann ist eine Analogie wie folgt: Kompilieren ist wie das Backen eines Kuchens mit all seinen Einzelzutaten.

Muss man das einmal machen oder für jedes Spiel einzeln?
Im Prinzip kompiliert man sich nur die Sachen selber, wenn man bestimmte Funkionen haben möchte, die vom Paketbetreuer einer Distribution z.B. deaktiviert wurde. Oder man macht es, weil der Programmcode so neu ist, dass sich noch niemand die Mühe gemacht hat das Programm für eine Distribution zu kompilieren und darin bereit zu stellen. In aller Regel geht es hier um bleeding edge Programmversionen. Nimmt man Wine als Beispiel, dann kann man das jedes mal machen, wenn die eine neue Version bereitstellen. Müssen tut man aber gar nichts. Man macht es auch nicht für jedes Spiel, denn Wine ist ja ein gemeinsam genutztes Programm zur Ausführung von Windows Dateien unter Linux.
Funktioniert lutris zuverlässig?
Kommt auf das Spiel an. In der Datenbank auf deren Seite kann man den jeweiligen Status entnehmen. Nebst lutris gibt es aber noch Steam. Da laufen mittlerweile sehr viele Games out of the box - ganz ohne lutris oder selbst kompiliertem Wine.
 
Und wie genau macht man das? Weil eine auf Windows ausführbare Datei (exe) bringt mir ja auf Linux nichts?
Dachte kompilieren wäre, diese Datei eben für Linux ausführbar zu machen?
Muss man dann für jedes einzelne Programm / Spiel recherchieren, oder?

Bräuchte halt Windows lediglich für Photoshop, Ableton und vielleicht das eine oder andere Spiel..

Hast du vielleicht ein oder zwei Links für mich über die ich mich bissl einlesen kann?

Wäre schon cool wenn ich Windoof umgehen könnte.. vor allem brauch ich es halt echt nur wegen den 3 Dingen..
 
Es gibt ein bei Debian/Ubuntu eine Metapket an Programmen, das trägt den Namen "build-essentials". Darin ist erst mal soweit alles enthalten, um Programme selber kompilieren zu können. Doch je nach Programm kann es andere Abhängigkeiten zu anderen Programmbibliotheken geben, die man ggf. auch installiert haben muss.

Hier ist in Englisch zu den Build Essentials https://linuxhint.com/install-build-essential-ubuntu/

Aber nochmal: Du brauchst Wine nicht selber zu kompilieren. Steam unter Linux nutzt Wine ebenso wie Lutris daraus fußt.
 
Okay, danke dir! :)
Also Spiele werde ich erstmal natürlich einfach über Steam oder Lutris probieren.

Für ältere Spiele dann wahrscheinlich einfach mal Windows installieren..

Jetzt würde es im Grunde nur noch um Photoshop und Ableton gehen..
Krieg ich die auch über Wine stabil zum laufen?
muss ich da was beachten oder kompilieren?

habe auch gelesen, dass Pop!_OS wahrscheinlich am sinnvollsten ist, da die die meisten GPU Treiber haben?
 
Aktuelle AMD Treiber sind Open Source und quasi bei jeder Distribution automatisch installiert. Bei NVIDIA wird per default ein Nachbau namens Nouveau installiert, der aber nicht die gewünschte Performance bringt. Bei eigentlich allen bekannten Distributionen wird beim Setup aber angeboten sog. proprietäre Treiber statt den OS Treibern zu installieren. Damit wird dann meist auch der NVIDIA eigene Treiber installiert. Den kann man auch nachträglich installieren. Bei Ubuntu und auf Ubuntu basierenden Distros geht das so.
 
Jetzt würde es im Grunde nur noch um Photoshop und Ableton gehen..
Krieg ich die auch über Wine stabil zum laufen?
Weiß ich ehrlich gesagt nicht. Gerade bei Adobe scheiden sich die Geister, warum die selber noch keinen Linuxport hinbekommen haben, ist der Weg von MacOS zu Linux zwar noch zu gehen aber am Ende nicht mehr so weit wie von Windows in eine unixoide Welt.

Es gibt zu fast allen Anwendungen eine Datenbank darüber wie gut oder auch nicht ein Programm läuft.


Wahrscheinlich werden diese beiden Programme für dich zur Spassbremse, wenn es um den Einsatz von Linux geht. Ich z.B. arbeite (entwickle) seit Jahren nur noch unter Linux, weil ich da einfach produktiver bin als unter Windows. Zum Zocken lade ich dann aber Windows. Dazu habe ich dann ein Dualbootsystem mit aktuell Windows 11 eingerichtet.

Egal wie man es dreht oder sehen mag. Unter Linux muss man sich klar sein, dass, dank konsequent mangelnder Unterstützung durch bestimmte Unternehmen (bspw. Adobe, MS, NVIDIA), der Desktopeinsatz auch heute noch von einem Kompromisse abverlangt. Ein Spiel unter Steam (Proton) , Lutris oder Wine direkt wird aktuell nie so gut performen wie nativ unter Windows. Bei AMD GPUs ist's besser bei NVIDIA GPUs anders herum. Gleiches gilt bei Anwendungen, die es nur für Windows gibt. Wobei man da überlegen kann, ob einem die verfügbaren Alternativen nicht genauso weit bringen wie die Windowsprogramme.

Habe hier noch einen ganz interessanten Artikel dazu
 
Hier noch ein paar neue Spiele :)

Cities Skylines
Disco Elysium
Lacuna
Control
Endzone
Wasteland 3

Laufen alle Perfekt unter Linux mit dem neusten Wine-Proton.


shot-3.jpg shot-6.jpg shot-7.jpg shot-8.jpg shot-9.jpg shot-10.jpg shot-13.jpg shot-14.jpg shot-16.jpg shot-1.jpg
 
  • Like
Reaktionen: MDJ
Alternativ kannst du ja auch Software bei der es nicht auf Grafikleistung ankommt in eine Windows-VM packen.
 
Alternativ kannst du ja auch Software bei der es nicht auf Grafikleistung ankommt in eine Windows-VM packen.
Wie läuft das aktuell? Meine letzten Versuche sind über ein Jahr her. VirtualBox bot überhaupt keine performance.
VMWare hat mittlerweile DX11 support soweit ich weiß. Ich hatte das mal eine zeitlang laufen, aber hatte Probleme mit input lags und Maussensitivität.
 
Wie läuft das aktuell? Meine letzten Versuche sind über ein Jahr her. VirtualBox bot überhaupt keine performance.
VMWare hat mittlerweile DX11 support soweit ich weiß. Ich hatte das mal eine zeitlang laufen, aber hatte Probleme mit input lags und Maussensitivität.
Wozu DX11 Support? Er meinte, für Windows only Software wie z.B. Photoshop halt eine VM nehmen. Wenn man zum Zocken eine VM nehmen will, dann macht das nur mit einer ausschließlich der VM zugewiesenen Graka einen Sinn. Stichwort: GPU Passthrough.
 
installiere dir mangohud, dann sieht es so aus

für gog spiele gibt es

für epic
oder

dafür muss man auch nicht wine installieren, sondern kann einfach steams proton nutzen und sowieso ist alles nur anklicken
 

Anhänge

  • 20200808140925_1.jpg
    20200808140925_1.jpg
    339,7 KB · Aufrufe: 36
  • 20200615193639_1.jpg
    20200615193639_1.jpg
    489,6 KB · Aufrufe: 30
  • 20210106182211_1.jpg
    20210106182211_1.jpg
    493,3 KB · Aufrufe: 29
  • Screenshot_20210412_182558.jpg
    Screenshot_20210412_182558.jpg
    411,5 KB · Aufrufe: 31
  • Screenshot_20210505_194406.jpg
    Screenshot_20210505_194406.jpg
    349,7 KB · Aufrufe: 28
  • Screenshot_20210605_200339.jpg
    Screenshot_20210605_200339.jpg
    272,4 KB · Aufrufe: 53
Zurück