Ich will doch nur spielen!

Spiele sind eine sehr unterhaltsame Freizeitbeschäftigung – ob nun analoge Gesellschafts- oder digitale Computerspiele.

Ich bin ein begeisterter Benutzer und Verfechter von Linux. Leider ist das Thema Spiele unter Linux bis heute noch problematisch. Es gibt tatsächlich Spiele, die nativ unter Linux laufen. Leider sind es nicht viele und das hat mehrere Gründe.

Verbreitung

Linux ist bis heute nicht sehr verbreitet auf Desktop-Computern. Auf Servern sieht das ganz anders aus, aber das ist eine vollkommen andere Geschichte. Spiele-Entwickler wollen nicht nur gute Spiele machen, sondern auch dafür bezahlt werden. Vor allem kleine Entwickler-Teams haben nur begrenzte Ressourcen und müssen sich entscheiden, auf welchen Plattformen ihre Spiele laufen sollen. Sollte man dann viel Arbeitszeit in die Portierung für Linux zu stecken, obwohl es sich vielleicht gar nicht lohnt? Hier sind vor allem die sogenannten Independent-Entwickler hervorzuheben, die den Nischenmarkt Linux-Spiele häufiger mit abdecken, als so manches großes Studio.

Vielfalt

Es gibt nicht das Linux. Linux ist nur ein Betriebssystem-Kern der allein nicht so viel kann. Dazu gibt es viele Programme und Bibliotheken (GNU ist sogar älter als Linux!) die modular zusammengesetzt werden können und dann das eigentliche Betriebssystem, genannt Linux-Distribution, ausmachen. Diese werden in unterschiedlichen Entwicklungsmodellen aktualisiert, manche stündlich, andere in Zyklen von etwa 68 Monaten, wieder andere  von einigen Jahren. Microsoft Windows ist momentan mit drei Jahren dabei. Die Inhomogenität der Linux-Welt macht die Entwicklung von Spielen nicht einfacher.

Grafik

Um die Entwicklung von grafiklastigen Anwendungen zu vereinfachen und zu beschleunigen, werden einige häufig verwendete Funktionen über Programmierschnittstellen in die Hardware ausgelagert. Die beiden wichtigsten Grafik-Programmierschnittstellen sind Direct X und OpenGL. Direct X wird von Microsoft entwickelt und ist verständlicherweise nur auf Windows-Systemen einsetzbar. OpenGL hingegen wird von dem Industrie-Konsortium Khronos Group entwickelt und ist auf den Einsatz in allen möglichen Systemen ausgelegt: Vom Handy bis zum Grafikkarten-Cluster. Viele Branchengrößen sind Mitglied der Khronos Group, Microsoft nicht. Bedingt durch diese Situation entwickelt sich OpenGL langsamer weiter als Direct X. Für gewöhnlich schaffen es die neusten Techniken im Grafikbereich früher in Direct X als in OpenGL – Viele Köche verderben den Brei.

Ein weiterer Problempunkt ist die Grafikkarten-Unterstützung durch die Hersteller. Es gibt normalerweise Grafikkarten-Treiber für Linux, aber die Entwicklerteams sind kleiner und langsamer beim Beheben von Fehlern. Die angesprochene Vielfalt in der Linux-Welt macht es auch den Grafikkarten-Herstellern nicht gerade einfacher.

Reiner Wein

Trotz der oben genannten Probleme ist es erstaunlich, wie gut man doch einige Spiele zum Laufen bekommt – selbst wenn die Spiele-Entwickler überhaupt keine Unterstützung für Linux eingebaut haben. Die Lösung in solchen Fällen heißt Wine. Das ist eine Abstraktions-Schicht, die Programmen vorgaukelt, sie würden sich auf einem Windows befinden. Aufrufe von Betriebssystem-Funktionen und -Schnittstellen werden auf Linux-eigene Funktionen und Schnittstellen umgeleitet. Die Programme sprechen z.B. Direct X, doch das System setzt es in OpenGL um. Leider muss dieser Direct-X-Nachbau reverse-engineered werden – das ist zeitaufwändig und fehleranfällig. Auch die Performance ist bei weitem nicht so gut, als wenn das Programm nativ unter OpenGL laufen würde – aber es läuft überhaupt! Welche Programme und Spiele wie gut unter Wine laufen, kann man auf der Projektseite nachschauen.

Fazit

Die Spieler unter Linux müssen auf die aller neusten und grafisch anspruchsvollsten Spiele häufig verzichten – Außnahmen bestätigen die Regel. Das heißt nicht, dass man unter Linux nicht spielen könnte. Die Linux-Gamer schließen sich auf Portalen wie Holarse zusammen um Erfahrungen auszutauschen. Auf Spiele-Plattformen wie Desura kann man auch Spiele finden, die unter Linux laufen. Die Humble Bundles haben in der Linux-Gaming-Szene auch einiges an Aufsehen erregt, wurden mit diesen Aktionen doch einige sehr gute Spiele zum ersten Mal auch offiziell für Linux angeboten und dann auch noch zu einem beliebigen Preis – da ist man doch gleich bereit mehr zu zahlen. Logisch, oder?

5 Gedanken zu “Ich will doch nur spielen!

  1. Ich bin ja vor allem mal gespannt wie sich der Trend zum Tablet / E-BookReader auf die Gleichgewichte im Betriebssystembereich auswirkt. Neue Nutzungsgewohnheiten erzwingen i.d.R. neue Herangehensweisen an Software, die nicht immer von den etablierten Firmen (oder nach dem etablierten Muster) geliefert werden können. Mit etwas Glück steckt da ja ein funken Hoffnung drin, das freie Betriebssysteme in breiteren Bevölkerungsschichten auch Aufgaben der Konsumelektronik übernehmen. Dann könnte würde sich die Spielentwicklung auch fix anpassen.

    • Dir ist schon klar, dass Android auch ein Linux-basiertes System ist, oder? Wie frei Android ist, steht auf einem anderen Blatt.

  2. In immer mehr Notebooks werden zwei Grafikchips verbaut, um die akkusaugenden dedizierten Grafikkarten im Normalbetrieb abschalten zu können. Problem dabei: Die Nvidia „Optimus“-Treiber laufen nicht unter Linux und das „Bumblebee“-Projekt steckt noch voll in der Entwicklung. Hoffentlich geht es da schnell voran!

    Zum Lesen: https://wiki.archlinux.org/index.php/Bumblebee

    • Das Thema Hybrid-Grafik ist eine zusätzliche Schwierigkeit, wo ich aber die Grafikkartenhersteller in der Pflicht sehe. Die wiederum sehen aber, wenn ich das richtig verstanden habe, prinzipbedingte Probleme im Linux-Grafik-Stack. Allein der X-Server ist schon steinalt – funktioniert aber relativ gut. Trotzdem: Wayland FTW!

      Und ja: Kommentare kann man ganz »einfach« mit HTML formatieren ;-)

  3. […] scheint so, als ob langsam Bewegung in die Problematik rund um Spiele unter Linux […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert