Die letzten Wochen dominiert eine Art von News in einschlägigen Linux Gaming Subreddits und Webseiten: The Witcher 3 läuft! Ein RPG Meilenstein, und bisher für viele, mich inklusive, ein gewaltiger Grund Windows noch auf der Festplatte zu behalten.
Doch wie kam es dazu, ohne einen offiziellen Port von CD Projekt Red? Die Geschichte der Ambition, alle Spiele unter Linux lauffähig zu bringen, gehen fast so weit zurück, wie das freie Betriebssystem selbst. Einst ein realitätsferner Traum, rückt er jetzt jedoch in greifbare Nähe.
Was war es nun, was uns The Witcher 3 beschert hat? War es Valve? WINE? Wovon rede ich da überhaupt? Nun, ich hoffe ihr seit auf einen kleinen Ausflug zu Gaming unter Linux gespannt.
Bei der Kreation von Linux waren Spiele kein Faktor. Aber wo ein Programmierer ist, da ist auch alsbald ein Spiel. Im Falle von Linux waren das erstmals Ports und Neuentwicklungen von mehr freier Software. Viele die Linux vor mehr als zehn Jahren ausprobiert haben und sich in der Spiele-Kategorie der Softwarearchive (Online, oder, wahrscheinlicher, auf den beigelegten CDs) umgesehen haben, empfinden diesen Titeln gegenüber womöglich Nostalgie. Ich auf jeden Fall tue das.
Man fand irgendwie immer eine Möglichkeit am PC zu spielen, ohne einen Kompromiss im Bezug auf Software-Ethik eingehen zu müssen.
Bis heute bleiben diese freien Spiele etwas besonderes. Also nicht nur gratis, sondern frei, wie in Freiheit. Durch offenen Quellcode und liberalen Lizenzen gibt es nicht wenige, die bis heute noch entwickelt werden und ihre treuen Fans haben. Vom Genre-Verfestiger Nethack, zu Multiplayer Spaßgranaten wie Nexuiz oder Teeworlds, man fand irgendwie immer eine Möglichkeit am PC zu spielen, ohne einen Kompromiss im Bezug auf Software-Ethik eingehen zu müssen.
Mit Klonen wie SuperTux (mitsamt SuperTuxKart), Puzzle Bobble, Hedgewars, Enigma oder Penguins, die in der Qualität, sowohl grafisch als auch mechanisch, oft dem Original hinterher hinkten, konnte man auch gut des einen Zeit verbringen. Zumindest stehen sie den Spielen aus der Schulinformatik, die wir in unserer letzten Folge Unlimited Topic besprochen haben, wie Blobby Volley oder Achtung! Die Kurve in Sachen Kultigkeit in nichts nach.
Dann gab es — und gibt es immer noch — die Source Ports. Alte Spiele, deren Sourcecode veröffentlicht wurde, konnten von eifrigen Fans auf andere Plattformen portiert werden. Die Klassiker dabei sind Doom 1 bis 3, Quake 1 bis 3, Jagged Alliance 2, Wolfenstein: Enemy Territory oder Duke Nukem 3D. Euren Lieblings-Sourceport hab dabei ich sicher vergessen, sorry. Es gibt so viele!
Und zuletzt, aber nicht zu unterschätzen sind die Emulatoren, wie eh und je eine Quelle großer Spielfreude. 8 bis 16 Bit Systeme wie das NES, SNES oder der Mega Drive stellten noch nie eine große Herausforderung dar. Und selbst vor 10 Jahren konnte man mit dem quelloffenen PCSX die meisten Titel aus der Playstation 1 Riege spielen. Heute kann man sich anhand von Dolphin an sämtlichen Gamecube und Wii Spielen erfreuen (WiiMote Support via Bluetooth inklusive) oder via RPCS3 an Demon Souls oder Nier versuchen.
Ich kann mir vorstellen, dass das ein oder andere Mal jemand zu einer Linux Version griff, ohne es zu wissen.
Doch bereits vor der Veröffentlichung des Codes von Quake, gab es eine Linux Version. Sogar im Handel! Fast ausschließlich von einem einzelnen Individuum namens Loki portiert, gab es in den 90ern bis frühen 2000ern ein paar auserwählte kommerzielle Spiele die ohne Tricks oder Kniffe unter Linux liefen. Darunter ausschließlich Perlen wie Unreal Tournament, Neverwinter Nights, Tribes 2, Civilization: Call To Power, Heretic 2 oder der legendäre Zeitfresser Heroes of Might And Magic III. Und wie gesagt standen die meisten von Loki umgesetzten Spiele im Regal. Ich kann mir vorstellen, dass das ein oder andere Mal jemand zu einer Linux Version griff, ohne es zu wissen.
Abgesehen von Loki’s Bemühungen sah es mit kommerziellen Spielen (ich vermeide bewusst die Bezeichnung “richtige Spiele”) lange mau aus. Bis auf Einzelfälle, wie das kostenlose America’s Army – Ein Multiplayer-Shooter im Stile von Counter Strike, den die US. Army zu Rekrutierung benutzt – nein, wirklich – musste sich erst etwas größeres in der Linux-Landschaft bewegen, um kaufbaren Spielen einen Aufschwung zu verschaffen.
Steam. Inzwischen quasi Synonym mit PC Gaming. Erinnert ihr euch noch an die Steam Machines? Wahrscheinlich. Genauso wahrscheinlich kennt ihr auch Niemanden, die eine hatte. Außer dem Zubehör wie dem Steam Controller oder das Steam Link blieben die als Konsolen-Alternative beworbenen PCs nämlich großteils im Regal liegen.
Was im Nachhinein betrachtet wie eine Schnapsidee von Valve aussah, war tatsächlich ein taktisches Manöver: Nämlich ein Schuss vor den Bug von Microsoft. Diese veröffentlichen 2011 gerade ihre Strategie, mit Windows 8 eine Universal Windows Plattform zu kreieren. Einen Windows App Store also. Inzwischen wissen wir ja, dass das Wirklichkeit geworden ist.
Es hätte aber schlimmer kommen können. Laut Gabe Newell in einem Interviw mit Venture Beat befürchtete Valve einen “walled garden”, also einen Ausschluss von Software, die nicht über den App Store installiert werden kann. Da dies Distributionsplattformen wie Steam effektiv töten würde, fassten sie den Plan, verstärkt – und bewusst öffentlich – auf Linux zu setzen.
Die Steam Machines sollten Valve’s Ernst an der Sache verdeutlichen. Nicht nur erwarteten sie von ihren Usern, Linux zu benutzen; Sie verkauften es ihnen sogar.
Zumindest eine Weile lang. Als klar wurde, dass Microsoft einlenken würde und die Gefahr des App Store Zwanges nicht mehr bestand, wurde es bei Valve deutlich stiller. Zwar sind in den meisten Updates für Steam auch Linux-spezifische Bugfixes erwähnt, aber viele Probleme bleiben bis heute unberührt. Zum Beispiel wird der Steam Controller erkannt und unterstüzt, aber, ohne zusätzliche Opensource Tools wie sc-controller, außerhalb von Steam nur eingeschränkt. Und selbst in Steam funktioniert das on-screen keyboard bei mir immer noch nicht. Argh.
Aber: Auch wenn Valve nicht mehr so stark an Linux interessiert ist, hat es Linux als valide Gaming Plattform überhaupt erst ins Leben gerufen und mit Linux Support auf GOG, Humble Bundle, itch.io und mehr Steam Konkurrenten, besteht inzwischen ein lebendiges Ökosystem ganz abseits und ohne Valve.
Für PC Spieler die Linux bevorzugen waren die letzten Jahre, seit der Steam Machine Offensive von Valve, wenn nicht gerade eine goldene Ära, dann zumindest eine Zeit der Euphorie.
Firmen die sich auf Linux und MacOS Ports spezialisieren wie Aspyr (Civilization 4–6), Feral Interactive (Hitman, Mad Max, F1 2017, Deus Ex: Mankind Divided, XCOM 1&2 und seit neuestem Rise of the Tomb Raider), sowie e-ON (The Witcher 2) sorgten und sorgen immer noch für deutlichen AAA Nachschub für Linux-only Gamer.
Dazu lieferten manche Publisher bzw. Entwickler auch selbst Linux Versionen. Entweder zum Release, oder auch viele Jahre später. Ein Vorreiter in dieser Sparte ist Double Fine, die inzwischen fast alle ihrer Titel, wie Brutal Legend, Psychonauts, oder Costume Quest später mit einem Linux Port auf den gängigen Online Plattformen Steam und GOG verteilt haben. Seit dieser Offensive startet auch jedes ihrer Spiele vom ersten Tag mit vollem Linux Support, wie Broken Age, oder die Remaster zu den LucasArts Klassikern Day of the Tentacle, Grim Fandango und Vollgas. Genauso wurde für das noch in Entwicklung befindliche Psychonauts 2 eine Linux Version versprochen.
Ich will auch Valve nennen, schließlich waren sie eine der ersten Firmen die sowohl rückwirkend als auch voranschreitend Linux als Plattform unterstützten, aber sie haben in den letzten Jahren nicht wirklich Spiele herausgebracht.
Andere Entwickler die sich hier zu den “guten” zählen dürfen sind Croteam, die Macher der Serious Sam Reihe und The Talos Principle, Deadalic, die deutsche Adventure-Schmiede die uns die Deponia Quadrologie schenkte, Supergiant Games, bekannt durch Bastion, Pyre und Transistor, und, zuletzt in meinem kleinen Ausschnitt, 4A Games, das Studio hinter der Metro Serie.
Ich will auch Valve nennen, schließlich waren sie eine der ersten Firmen die sowohl rückwirkend (Half Life Serie, Left 4 Dead 2, DOTA 2, Portal 1&2) als auch voranschreitend (…Portal Bridge Constructor?) Linux als Plattform unterstützen, aber sie haben in den letzten Jahren nicht wirklich Spiele herausgebracht.
Jedenfalls gibt es inzwischen bei weitem genug kommerzielle Spiele auf Linux, um das altbekannte Backlog Problem aufkommen zu lassen. Aber da es nur eine Begleiterscheinung von zu vielen guten Spielen ist, heiße ich es gerne willkommen zurück.
Wer nur an “vorgesehener” und “unterstützter” Benutzung von Software interessiert ist, hat mit den ganzen Ports bereits reichlich zu spielen. Oft aber gibt es genau dieses eine Spiel, entweder weil alle Freunde es gerade im Multiplayer zocken, oder weil es gerade häufig in den eigenen Social Media Feeds auftaucht, oder weil man einfach hammer, mega Bock bekommen hat.
Und dann gibt es keine offizielle Linux Unterstützung.
Ach, was kann man da schon tun? Die Windows Version besorgen? Die wird ja nicht laufen. Immerhin sind Linux und Windows von Grund auf anders designte Betriebssysteme, mit komplett anderen Bibliotheken und Implementationen der Funktionalitäten, die von Treibern und Software benötigt wird um auf die komplexe Hardware im PC zugreifen zu können. Puh.
Hier kommt WINE ins Spiel. WINE ermöglicht es, Software die für Windows geschrieben wurde auf Unix-artigen Plattformen wie MacOS, FreeBSD und natürlich Linux auszuführen. Dabei ist es kein Emulator, wie das rekursive Akronym “Wine Is Not an Emulator” etwas ungelenk kommuniziert.
So habe ich zum Beispiel Dragon Age: Origins auschließlich unter Linux mit WINE gespielt, ohne zu merken, dass ich es auf der “falschen” Plattform spiele.
Es setzt sich quasi zwischen die Software und dem Betriebssystem, fragt die Software was es sich erwartet, sucht sich eine entsprechende Unix Funktion heraus, verpackt sie schön, damit die Software nicht merkt dass es keine Windows-Funktion ist, und gibt sie dem Programm. Wenn dieses dann ein Ergebnis zurück liefert, nimmt WINE es an, packt es so aus, damit das Unix-artige Betriebssystem damit etwas anfangen kann und gibt es so an dieses weiter. Das macht es sehr sehr oft und sehr sehr schnell und zack! Eine Windows Anwendung läuft auf einem Linux Desktop einfach glücklich vor sich hin.
Grafikanwendungen wie Spiele benutzen häufig Microsoft’s DirectX Schnittstelle um die Grafikkarte anzusprechen. Unter Linux ist DirectX nicht verfügbar, also wandelt WINE diese Aufrufe in vergleichbare OpenGL Aufrufe um. OpenGL erledigt den selben Job wie DirectX, ist allerdings, anders als DirectX, auf mehreren Plattformen verfügbar, anstatt nur auf Windows.
Okay, und das funktioniert auch mit Spielen? Ziemlich gut sogar! Erstaunlich gut, wenn man bedenkt, was unter der Haube eigentlich passiert. Spiele die maximal DirectX 9 benutzen haben eine verdammt gute Chance dass sie performant laufen. So habe ich zum Beispiel Dragon Age: Origins ausschließlich unter Linux mit WINE gespielt, ohne zu merken, dass ich es auf der “falschen” Plattform spiele.
Mit DirectX 10 und darüber hinaus tut sich gerade viel im WINE Projekt. Im nächsten Abschnitt gehe ich auf die aufregenden Neuigkeiten näher ein. Aber es sei so viel gesagt, dass die DirectX 10 Unterstützung erstaunliche Fortschritte macht und viele Spiele bereits vollständig spielbar sind.
Aber Moment, denkt ihr euch vielleicht. Was ist, wenn das Spiel bereits von sich aus OpenGL anstelle von DirectX benutzt? Nun, dann habe ich großartige Neuigkeiten! WINE hat dann nur minimale Übersetzungsarbeit zu leisten und oftmals laufen Spiele bereits am Erscheinungstag, wie zum Beispiel No Man’s Sky. WINE User waren damit vielleicht eine der wenigen, die sich am Release-Tag an diesem Spiel freuen konnten.
Ein anderes Beispiel ist Doom 2016, welches aber noch in anderer Hinsicht spannend ist: Es bringt sowohl OpenGL als auch Vulkan Unterstützung mit. Vulkan ist als OpenGL’s Nachfolger konzipiert und soll viele Verbesserungen mitbringen die denen von Microsoft’s DirectX 12 ähneln. Und… *Drum-roll* Vulkan ist zu 100% unter Linux unterstützt! Auch hier muss WINE also keinen großen Aufwand leisten und Doom 2016, sowie das im letzten Jahr erschienene Wolfenstein 2, welches die selben APIs unterstützt, liefen somit am Erscheinungstag auf Linux-Computern.
Oder, in Doom 2016’s Fall, wäre es gelaufen. Denn der Denuvo Kopierschutz funktionierte nicht unter WINE. Als ob man einen weiteren Grund gebraucht hätte um Denuvo zu verfluchen. PIRATERIE KOSTET EUCH NICHT MAL ANNÄHERND SO VIEL GELD WIE IHR GLAUBT, BETHESDA! Inzwischen wurde das DRM entfernt (weil es geknackt wurde) und der gepflegten Dämonen-Jagd auf dem Mars steht nichts mehr im Wege.
Valve hat mit Steam für Linux eine Renaissance losgetreten. Es spielen mehr Leute denn je unter Linux und es gibt mehr Spiele den je. Von klitzekleinen Indies bis zu den AAA Blockbustern ist alles dabei. Also besitzt Linux nun auch die Aufmerksamkeit von talentierten Entwicklern und individuellen Menschen, die es vorher nicht hatte.
Dies führt zu einer Entwicklung in allen Bereichen, aber die, die am meisten Wellen geschlagen hat ist DXVK.
The Witcher 3, GTA V, Ni No Kuni II, Nier: Automata, Just Cause 3, Fallout 4, Far Cry 4/Primal, Dark Souls III…. nur ein Ausschnitt an modernen Titeln die unter Windows DirectX 11 benutzen und seit ein paar Wochen viel besser oder überhaupt erst laufen. Am Rest wird fiebrig gearbeitet. Das Geheimnis heißt DXVK (DirectX -> Vulkan), ein Patch für WINE, der die DirectX 11 Aufrufe der Spiele in die entsprechenden Aufrufe der Vulkan API umsetzt. Da sich diese beiden Schnittstellen recht ähnlich sind, ging die Entwicklung und der Fortschritt des Patches sehr geschwind voran, und fast täglich werden mehr (aktuelle!) Spiele mit WINE lauffähig und spielbar.
Ich prognostiziere, dass bis in einem Jahr über 90% aller Windows Spiele mit WINE spielbar sind.
Hier könnt ihr euch ansehen, wie Far Cry 5 auf einer GTX1060 läuft.
Nicht schlecht oder? Für mich vor allem beeindruckend, wo vor ein paar Monaten noch gar nichts lief. Ein schönes und gutes Beispiel für die Fähigkeit, die freie Software hat, großes umzusetzen.
Somit bleiben nur noch wenige Spiele, die überhaupt nicht laufen, die noch abstürzen oder anderweitig noch Probleme aufweisen.
Aber hier sind wir nun. In der Spiele-Wüste angefangen kann ich nun fast alles spielen, was ich will. Ich prognostiziere sogar, dass bis in einem Jahr über 90% aller Windows Spiele mit WINE spielbar sind. Was für eine Aufregende Zeit für Linux Spieler!
Sieht man sich auf den einschlägigen Foren um Webseiten um, stößt man leicht auf die Aussage, dass manche Spiele unter Linux – selbst mit WINE – besser laufen würden als unter Windows.
Das mag in Einzelfällen durchaus zutreffen. Zudem sollte man die Nützlichkeit von WINE, besonders ältere Spiele die unter neuen Versionen von Windows nicht mehr starten, nicht außer Acht lassen.
Doch muss man der Wahrheit ins Auge sehen: Linux ist in der Regel weniger performant. Ein Leistungsverlust von bis zu 10% ist die Norm. Je nach Spiel und System kann diese Zahl natürlich stark variieren.
Ich kann mich aber getrost hinstellen und euch sagen: Ich merke es nicht. Ich habe eine GTX 970, einen Intel i7-2700K und 12GB RAM. Bein Rechner ist nicht schlecht, aber spielt bei weitem nicht mehr in der Oberliga mit.
Indie Spiele sind natürlich kein Problem. Bei nativen Ports von AAA-Titeln kann ich für gewöhnlich die Einstellungen sehr ähnlich wie unter Windows halten. Und selbst mit WINE und DXVK erziele ich optisch sehr ähnliche Ergebnisse mit gut spielbaren FPS Zahlen. Wer also des einen PCs liebt weil dort die dicksten Grafikkarten drin stecken und man immer alles voll aufdrehen will ohne jemals unter die 60 FPS Grenze zu fallen, die könnte bei DXVK und manchen Ports der neuesten Spiele an die Schmerzgrenze geraten.
Für alle anderen, die wie ich einfach Zocken wollen und alles über 30 FPS ein definitiver Erfolg ist, ist Linux mit dem DXVK Patch für WINE eine echte, vollständige Alternative geworden.
Ich sollte jetzt also zufrieden sein. Ich muss für mein geliebtes Witcher 3 nicht mehr Windows booten. Man merkt es vielleicht auch von diesem Artikel: Ich bin glücklich. Mir geht es gut – auf meiner Linux Insel.
Aber zufrieden bin ich noch nicht. Zum einen weil sich ein offizieller, unterstützter Port immer besser anfühlen wird. Man kommt sich mehr wertgeschätzt vor. Man existiert für die Entwickler. Man muss nicht obskure, Spiel-spezifische Hacks für WINE aus dem Internet fischen.
Und dann, auf der anderen Seite, hab ich, auch mit hochglanzpolierten Ports, am Ende trotzdem wieder geschlossenen Code auf meinem System laufen. Auf meinem schönen, freien System, das ich mir ja extra deswegen ausgesucht habe.
Mir geht es gut – auf meiner Linux Insel.
Die Source Ports, Emulatoren und freien Spiele werde ich nie verlassen – und sie werden auch nie verschwinden. Denn sie sind eine Art Fenster in eine Parallelwelt des PC Gamings. Eine offene, willkommen heißende Welt. In der Spielen genauso verständlich ist wie bei der Entwicklung mitzumachen. Eine, die wir in kommerziellen Spielen nie bekommen werden.
Aber hey. Witcher 3.