[HowTo] Starcraft 2 mit Linux spielen

Am 27.07.2010 erschien das lang ersehnte Echtzeitstrategiespiel Starcraft 2 aus dem Hause Blizzard Entertainment. "Hell, it's about time!" Ich hatte mich zuvor schon in der Wine-Datenbank informiert, wie die Starcraft2-Beta sich unter Linux verhält und war froh zu lesen, dass der Beta-Client schon den "Gold"-Status erteilt bekommen hat.
Das Howto wurde mit Ubuntu 10.04 Lucid Lynx (32bit) getestet und bezieht sich auf die deutsche Kaufversion auf DVD. Dabei habe ich die aktuelle stabile Wine-Version 1.2 verwendet. Der Rechner besitzt eine Intel Core 2 Duo E7400 2,8 GHZ CPU, 4 GB RAM und eine Nvidia Geforce 9600 GT. Als Nvidia-Linuxtreiber habe ich Version 195.36.24 verwendet. Sound funktionierte bei mir auf Anhieb mit Alsa.
Um Starcraft2 zu installieren wird auf jeden Fall wine mindestens in der Version 1.2 benötigt.

Schritt 1:

Vor Beginn der Installation sollte Wine so konfiguriert werden, dass es Windows 7 imitiert. Bei Problemen beim Beenden des Spiels kann auch eine Umstellung auf Windows XP helfen. Am besten beides einmal ausprobieren. Das geht direkt bei Ubuntu mit GNOME-Desktop über Anwendungen->Wine->Konfiguriere Wine oder auf der Kommandozeile mit dem Befehl

winecfg

Schritt 2:

Die DVD wird leider auf Anhieb nicht richtig erkannt. Das Problem existiert auch mit den World-of-Warcraft-DVDs. Die Dateien sind beim automatischen Mounten der DVD "versteckt". Die DVD muss mit

umount <Pfad zum DVD Laufwerk>

ausgehängt werden (z.B. umount /media/cdrom). Mit

sudo mount -o ro,unhide,uid=1000,gid=1000 /dev/scd0 /media/cdrom/

erneut eingehängt werden. Dabei müssen der Gerätename des DVD-Laufwerks und der Mountpunkt ggfs. angepasst werden.

Schritt 3:

Beim Doppelklick auf die Installer.exe startete bei mir der Installationsvorgang, wurde aber nach kurzer Zeit immer mit einer Fehlermeldung abgebrochen. Zum Beispiel erschien:

" Runtime Error!! This application has requested the runtime to terminate it an unusual way. Please contact the application's support team for more information."

Die Lösung ist den gesamten Inhalt der DVD auf die Festplatte in einen Ordner zu kopieren und die Installer.exe von der Kommandozeile aus zu starten.

wine <Pfad zum Starcraft2 Ordner> Installer.exe

Erst danach läuft die Installation bis zum Ende durch. Der Sound, der während der Installation abgespielt wird, bricht bei meiner Installation aber ab. Das Spiel beginnt danach automatisch mit dem Patchen der Dateien auf die aktuellste Version und belohnt einem mit einer filmreifen Introsequenz.

Performance von Starcraft 2 unter Linux verbessern

Auf die Entwicklerversion von Wine upgraden

Erfahrungsgemäß werden Probleme mit Wine nach und nach behoben. Deshalb hilft es oft die Wine-Entwicklerversion zu installieren, um in den Genuss schneller Fehlerbehebung zu kommen. Wer keine Probleme mit Wine hat, sollte bei der stabilen Version (Stand 10.08.2010: Wine 1.2) bleiben. Um die neueste Entwicklerversion nutzen zu können, muss das Paket wine1.3 installiert werden und zuvor das Wine-Ubuntu-PPA eingerichtet worden sein. Auf der Kommandozeile geht das am schnellsten mit dem Befehl

sudo add-apt-repository ppa:ubuntu-wine/ppa

Danach genügt ein

sudo aptitude update
sudo aptitude install wine1.3

um auf die aktuelle wine1.3 Beta-Version ein Upgrade zu machen. Auf der offiziellen Wine-Seite kann man diese Installationsanleitung für Ubuntu noch einmal nachlesen.

Neueste Grafiktreiber von Nvidia für Linux installieren

Wie jeder Gamer weiß, sollten die Grafiktreiber immer auf dem neuesten Stand sein. Der stabile Nvidia-Treiber ist bei Ubuntu "Lucid Lynx" zur Zeit 195.36.24. Um mit dem aktuellsten Treiber zu spielen, kann man diesen einfach durch das Einbinden eines Ubuntu-PPA-Repositoriums von http://www.ubuntuupdates.org/nvidia-graphics-drivers installieren.
Mit den folgenden drei Befehlen auf der Kommandozeile wird das PPA-Repositorium eingebunden, die Paketquellen aktualisiert und schließlich alles auf den aktuellen Stand gebracht.

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo aptitude update
sudo aptitude safe-upgrade

Anschließend ist der aktuelle Nvidia-Treiber (Stand 10.08.2010: 256.44) installiert.

ATI-Grafiktreiber

In dem Ubuntu-x-swat-Repo ist auch der aktuellste proprietäre ATI-Grafiktreiber enthalten. Diesen kann man mit

sudo aptitude install fglrx

installieren. Da ich keine ATI Grafikkarte besitze, konnte ich den Effekt auf Starcraft II nicht testen. Der aktuelle Nvidia-Treiber bringt bei mir ca. 3-5 Frames mehr bei gleichen Einstellungen. (Hey, immerhin 😉 )

Ein paar Zahlen zur Framerate bei verschiedenen Einstellungen

Getestet mit dem oben angegebenen Computer und Nvidia 256.44 Treiber mit dem Szenario "Taktische Befehle". Die Sicht war immer statisch auf die eigenen Einheiten am Anfang zentriert. Die Frames lassen sich mit STRG+ALT+F anzeigen. Einstellung der Grafikeinstellung auf

  • Ultra: 20 fps
  • Hoch: 28 fps
  • Mittel: 30 fps
  • niedrig: 55 fps
  • alles mittel und shader auf niedrig: 53 fps

Ich spiele zur Zeit mit Grafikeinstellungen auf "Hoch" im Single-Player Modus und komme damit ohne Probleme zurecht. Für Multiplayer könnte ein Wechsel zu niedrig Sinn machen. Die meisten Frames gewinnt man durch die Option Shader auf "niedrig" zu setzen.

Weitere Performance Tweaks

Hierzu muss die Wine-Registry mit wine regedit modifiziert werden.
Mit dem RegEditor zum Schlüssel HKEY_CURRENT_USER/Software/Wine/Direct3D navigieren und falls er nicht existieren sollte einfach anlegen.
Dann Rechtsklick auf Direct3D "Neu" auswählen und danach jeweils die unten stehenden Schlüssel/Werte-Paare hinzufügen. Ich würde das Spiel aber zuerst einmal ohne diese Veränderung ausprobieren und je nach dem wie SC2 läuft die Registry ändern.

SchlüsselWert
DirectDrawRendereropengl
Multisamplingdisabled
OffScreenRenderingModepbuffer
UseGLSLdisabled
VertexShaderModehardware
VideoMemorySize1024 (Der Wert sollte der Größe eures RAM-Speichers für die Grafikkarte entsprechen)

Mögliche Probleme

Allgemein

Es gibt einige besondere Probleme, die von Wine noch nicht gelöst worden sind. Manche Spiele und Windowsprogramme fordern spezielle Laufzeitbibliotheken an, die noch nicht vollständig als Freie Software implementiert worden sind. Das Programm winetricks, welches sich einzeln über apt installieren lässt oder im aktuellen Ubuntu wine1.3 Paket integriert worden ist, lädt diese Bibliotheken herunter und installiert sie im versteckten wine Ordner. Grundsätzlich sollte jedoch vermieden werden diese Laufzeitbibliotheken zu installieren, da sie unter Umständen auch Funktionen von Wine einschränken können. Die Lösung mit winetricks für ein Patchproblem von StarcraftII hat Andreas in den Kommentaren beschrieben. Danke!

Crash bei den Zeratul-Missionen

Bei mir trat folgendes Problem später auf: Beim Klick auf den grünen Kristall im Labor, mit dem sich die Zeratul-Missionen spielen lassen, stürzte das Spiel wiederholbar ab. Die Lösung ist mit Winetricks zwei Laufzeitbibliotheken nachzuinstallieren.

winetricks corefonts
winetricks vcrun2005

Soundprobleme

In der Wine-Datenbank zu Starcraft 2 wurde bei Soundproblemen vorgeschlagen eine bestimmte Windows-Bibliothek namens mmdevapi zu deaktivieren. In der Beta gab es scheinbar erst Sound, wenn dies geschehen war. Bei meiner Installation musste diese Einstellung nicht gemacht werden. Im Gegenteil kam es deswegen erst zu Soundproblemen bei mir im Spiel. Wer Probleme hat und es probieren möchte, muss erneut in das Wine Konfigurationsmenü gehen und dort den Reiter "Bibliotheken" anklicken. In dem Feld "Neue Überschreibungen für" muss mmdevapi eingetragen und mit Enter bestätigt werden. In der darunter stehenden Liste dann einfach auf mmdevapi klicken, Bearbeiten wählen und "Ausschalten" anklicken.

Kernelprobleme

Manche Nutzer haben davon berichtet, dass Starcraft 2 und Wine mit dem Linuxkernel 2.6.33 und 2.6.34 nicht kompatibel sind. Lösung: 2.6.32 oder 2.6.35 nutzen.

Fehlermeldung bei Verlassen des Spiels

Sollte Wine Windows7 immitieren, kann es vorkommen, dass das Spiel beim Ausloggen mit einer Fehlermeldung abstürzt. Hier hilft dann das Umschalten auf WinXP weiter.

Fazit

Nach den kleinen Installationshürden läuft das Spiel bis auf zwei Dinge einwandfrei. Im Ladebildschirm gibt es ein kurzes knackendes Soundgeräusch und beim Beenden des Spiels gibt es immer eine Fehlermeldung. Der Sound im Spiel ist aber normal. Die Grafikeinstellungen müssen je nach Grafikkarte und Rechner natürlich angepasst werden. Alle Effekte sind auch nur mit einer aktuellen GraKa darstellbar. Unter anderem werden 1024 MB Speicher für die Grafikkarte gefordert, wenn man alle Textureffekte sehen möchte. Aber selbst mit der Geforce 9600 GT läuft das Spiel flüssig und die vielen Videosequenzen lassen sich alle im "Hoch" Modus darstellen. Von mir gibt es daher auch Gold. Hier noch ein paar erste Eindrücke von Starcraft2.

Links

Wine-Anwendungsdatenbank für Starcraft2

Leichtgewichtige Linux Anwendungen

Eine aktuellere Übersicht über leichtgewichtige Software, die ich verwende, gibt es unter Software.
Nach der Wahl des Fenstermanagers stand die Frage im Raum: "Welche Programme laufen überhaupt noch schnell genug auf einem PII Laptop mit 64MB RAM?" Dabei ist wohl die wichtigste Frage, was man mit dem Computer überhaupt noch anstellen will. Im folgenden möchte ich eine Auswahl von Programmen vorstellen, die selbst auf älterer Hardware wie meinem Toshiba Portégé 3110CT (speedy) noch schnell funktionieren, wenig Speicher verbrauchen und oft sehr wenig Abhängigkeiten mit anderen Programmen aufweisen und damit ideal sind, wenn man sein Linuxsystem selbst zusammenstellen möchte.
Für meinen Laptop war mir vor allem Netzwerkfähigkeit wichtig. Browsen, Chatten, Emails versenden sollte möglich sein und Musik abspielen musste problemlos funktionieren. Weniger wert legte ich auf Textverarbeitung, Grafiken und Fotos bearbeiten.

Terminal-Emulatoren

Welches Terminal Programm man unter X benutzen möchte ist letztendlich Geschmackssache. Das Fluxbox-Wiki listet hierzu ein paar gängige Alternativen auf. Nach langer Suche im Netz bin ich immer wieder auf rxvt-unicode (kurz urxvt) und xterm gestoßen. Beiden wird geringer Speicherverbrauch nachgesagt, was ich nach einigem Ausprobieren auf meinem Laptop mit 64 MB RAM bestätigen kann. Urxvt lässt sich hierbei umfangreich konfigurieren, so dass man schließlich alle Funktionen erhält, die man z.B. von dem ebenfalls umfangreichen, aber schwerfälligen Gnome-Terminal auch gewohnt ist. Urxvt bietet unter anderem Unicode Support, Pseudo-Transparenz, Tabs, anklickbare Links, ein-/ausschaltbare Scrollbar und weitere Möglichkeiten Farben und Aussehen anzupassen.

Grafik

Ein einfacher Bildbetrachter ist Standard auf jedem Computersystem und sollte auch auf einem Minimalsystem nicht fehlen. Ein schnelles Programm ist hier z.B. gpicview. Wer auf eine grafische Oberfläche verzichten kann, findet mit feh einen mehr als vollwertigen, Kommandozeilen basierten Ersatz, der sehr flexibel ist und bei fluxbox oder openbox sich auch als Programm zum Anzeigen des Hintergrundbilds eignet. Damit kann feh andere Anwendungen wie z.B. eterm als Hintergrundbildzeichner ersetzen.

Email

Normalerweise benutze ich unter Ubuntu für Emails und Kalenderfunktionen die Groupware Suite Evolution und bin seit langem sehr zufrieden damit. Leider möchte Evolution bei einer Einzelinstallation beinahe die gesamte Gnome Desktopumgebung mit installieren und ist auch nicht gerade genügsam was Systemanforderungen angeht. Die zweite sehr gute Alternative ist Mozilla Thunderbird oder Icedove wie es bei Debian genannt wird.
Auf meinem Laptop war aber auch Thunderbird eine Nummer zu groß, weshalb ich nach anderen Alternativen Ausschau gehalten habe. Wer einen grafischen Email Client mit ähnlichen Funktionen, gutem Spamfilter und Verschlüsselungsmöglichkeiten wie bei Thunderbird sucht, findet mit claws-mail ein würdiges Programm. Claws-Mail kam selbst mit 64 MB noch gut zurecht. Zwar dauert es ebenfalls eine Weile bis das Programm gestartet ist, danach ist die Reaktionsfähigkeit in Ordnung, was man über Thunderbird nicht mehr sagen konnte.
Auf der weiteren Suche bin ich schließlich auf mutt und alpine gestoßen. Dabei handelt es sich um zwei reine Text basierte Email Clients. Mutt gilt allgemein als stark konfigurierbar und flexibel anpassbar. Die Konfiguration des Programms nimmt einen aber dafür für eine Weile in Anspruch. Schließlich bin ich zu dem Ergebnis gekommen, dass mutt, nur um ein paar Emails abzurufen und zu verfassen, eine Nummer zu konfigurierbar war.
Wer es etwas einfacher möchte, aber einen ebenso leichtgewichtigen Email Client sucht, sollte sich mal alpine anschauen. Alpine ist eine Weiterentwicklung des Email Clients pine der Universität von Washington und wird unter der Apache Lizenz veröffentlicht. Ausgeschrieben würde Alpine dann wohl "Apache License Pine is not Elm" heißen oder "Alternatively Licensed Program for Internet News and Email".
Im Gegensatz zu mutt ist die Installation unkompliziert abgeschlossen sobald man aptitude install alpine ausgeführt hat. Die Konfiguration danach gestaltet sich auch deutlich einfacher. Was man noch beachten sollte und wie man z.B einen GMX Account einrichtet, wird an dieser Stelle berichtet.

Dateimanager

Dateien kopieren, bewegen und löschen gehört zur Standardaufgabe eines jeden Rechners. Meine Lieblingsprogramme, wenn es um schnelle Dateimanager geht, sind Thunar und PCManFM. Wer es noch eine Spur genügsamer haben möchte, findet mit dem Midnight Commander, eine gute Alternative, welche dem legendären Norton Commander nachempfunden wurde. Wer wie ich feststellt, dass er selten große Mengen an Daten verschieben und kopieren muss, kommt sicherlich auch mit den Shell Kommandos mv, cp und rm prima aus.

Browser

Die Zahl der Browser scheint unter Linux Myriade zu sein. Zwar habe ich noch einige weitere ausprobiert, aber mich auf die unten stehenden zum Vorstellen beschränkt. Die nachfolgenden Browser repräsentieren auch Browsertypen und heben sich meiner Meinung nach von den anderen ab.
Firefox/Iceweasel kommt mit nur 64 MB RAM nur sehr zäh zurecht und ist zumindest für speedy nicht geeignet. Für mich anfangs überraschend, kommt Opera selbst mit nur 64 MB klar. Die Startzeit ist zwar auch nicht weltmeisterlich, aber die Seiten lassen sich flüssig scrollen. Schade nur, dass Opera nicht Open Source ist und meiner Meinung nach zu viele Features mit herumschleppt, die nichts mit Browsen zu tun haben.
Der Chromium-Browser war noch nicht in Squeeze, weshalb ich ihn noch nicht auf speedy getestet habe. Auf Grund der schon bei anderen Rechnern gemachten Erfahrungen, könnte er mit Opera in Sachen Geschwindigkeit wahrscheinlich gut mithalten.
Nun sind diese beiden "großen" Browser noch lange nicht das Ende aller Weisheit. Unter anderem gibt es noch Midori, netsurf, dillo2 oder elinks. Nicht getestet habe ich vergleichbare Browser, die für KDE entwickelt worden sind, da ich keine QT Bibliotheken installieren wollte.
Midori ist der Standardbrowser der Xfce Desktopumgebung und macht auf etwas schnelleren Rechnern mit 128 MB RAM eine sehr gute Figur, startete aber auf speedy deutlich langsamer als z.B. opera. Trotzdem ist er einer meiner Favoriten, da er auch schon mit einer guten Ad Block Funktion standardmäßig daherkommt und auch wert auf Webstandards legt.
Es gibt eine Reihe von Browsern, die schlank und schnell sind, weil sie Funktionen nicht implementiert haben und z.B. JavaScript nicht darstellen können oder CSS nicht vollständig oder gar nicht implementieren. Für viele Anwendungszwecke reicht aber auch ein solcher Browser aus um einen schnellen Blick auf eine Webseite zu werfen.
Unter diesen Browsern ist z.B netsurf, welcher eine befriedigende Startzeit hatte und Seiten schnell darstellt. Im Vergleich mit Opera startete er etwas schneller, hat aber auch deutlich weniger Features.
Ein extrem schnelles Programm war schon immer Dillo. Leider war auch die Darstellung von Webseiten sehr rudimentär. Schnell ja, aber kaum Features. Dillo2 steht nun in den Startlöchern und ist weiterhin ausgesprochen schnell. Viele gut strukturierte Webseiten lassen sich mit Dillo2 ohne Probleme darstellen. Leider gab es mit einer wichtigen Bibliothek Lizenzprobleme, wodurch die Aufnahme in Debian zeitweise gefährdet war. Das Problem scheint gelöst und ich hoffe auf die baldige Aufnahme in squeeze.
Schließlich gibt es noch die Kategorie der Textbrowser. Textbrowser scheinen nur etwas für Puristen zu sein und zugegeben für längere Internetrecherchen sind sie mir eine Spur zu spartanisch. Es gibt aber dennoch Anwendungsmöglichkeiten, wo ich sie für sinnvoll und für eine gute Alternative halte. Zum Beispiel hielt ich es bis vor kurzem für unmöglich youtube Videos auf speedy anzuschauen. Ein genialer Blogeintrag, elinks und mplayer haben das aber dann doch möglich gemacht. Da selbst auf  leistungsfähigeren Rechnern die Wiedergabe von Flashvideos im Browser eine Qual sein kann, gehe ich darauf später noch mal ausführlich ein.
Mit uzbl gibt es noch einen Browser, der sich explizit der UNIX-Philosophie verschrieben hat und Darstellung, Browsen und Extras klar trennt. Er ist ziemlich schnell und setzt ebenso wie Midori auf WebKitGTK+ als Rendering Engine.

Pdf

Als PDF Betrachter kamen bisher immer xpdf oder evince in Frage. Evince ist etwas zu schwerfällig und xpdf befindet sich nicht mehr in squeeze. Dafür gibt es nun epdfview, was einen sehr guten Job macht und zu empfehlen ist.

IRC und Chat

Ab und zu ist er doch ganz nützlich, der Internet Relay Chat oder kurz IRC genannt. Insbesondere erhält man teilweise gute Tipps zu debianspezifischen Problemen oder einfach nur gute Unterhaltung, wenn es mal wieder heißt: "Debian IS NOT Ubuntu!!".
Der IRC Client meiner Wahl ist normalerweise XChat. Um Systemressourcen weiter zu schonen empfehle ich irssi. In Verbindung mit rxvt-unicode ein echter Gewinn.
Als leichtgewichtiges Chatprogramm hat sich centerim herausgestellt.

Systemmonitor

Wer das Kommando top kennt und mag, wird htop sicher noch besser finden. Endlich lassen sich Systemprozesse intuitiv vertikal und horizontal scrollen. Eine weitere ressourcensparende Alternative ist conky. Conky lässt sich über eine Text-Datei konfigurieren und es gibt schon zahlreiche verfügbare Configs im Netz zu finden.

Musik

Hier fiel meine Wahl auf den Music Player Daemon (mpd) und als Client ncmpc. Die Client-Server Architektur erscheint zuerst etwas merkwürdig. Das Gute daran ist aber, dass der Server sich auch über ein Netzwerk kontrollieren lässt, Server und Client also nicht auf dem gleichen Rechner laufen müssen. Dazu benötigen beide nur sehr geringe Ressourcen. Wer grafische Clients mag und noch etwas RAM übrig hat, sollte sich die Clients sonata oder ario anschauen.
Mit MOC und dem Audio Frontend cplay stehen weitere Möglichkeiten offen.

Textverarbeitung

Lange Textkolonnen in speedy zu hacken ist auf die Dauer ziemlich anstrengend. Zu klein, zu unkomfortabel ist das Tastaturlayout. Immerhin liegen die Stärken dieses Netbooks aus dem Jahre 1999 auch mehr in Portabilität und Stil 😉
Wer trotzdem nicht auf Textverarbeitung verzichten will, hat die Auswahl zwischen Open Office (komplette Office Suite, aber erst ab 128MB+ zu genießen) und Abiword. Wer nur einen einfachen grafischen Texteditor braucht, findet mit leafpad alles was er braucht. Wenn ich auf älteren Rechnern Texte oder Code editieren muss ist vim immer eine gute Alternative.

Zum Schluss

Wie man schnell feststellen kann, gibt es eine Gratwanderung zwischen grafischen und text/ncurses basierten Programmen. Programme wie alpine, htop, centerim, irssi und elinks würden auch ohne grafische Oberfläche X auskommen. Man sieht also schnell, dass mit einem aktuellen Linuxkernel und ressourcenschonenden Programmen selbst etwas ältere PCs noch immer produktiv nutzbar sein können.
Es gibt natürlich noch zahlreiche andere leichtgewichtige Programme. Die Liste ist bei weitem nicht vollständig und rein subjektiv. Zumindest funktionieren alle oben beschriebenen Programme in der Form auf meinem Laptop. Wer eine gute Aufzählung mit weiteren "lightweight" Linux Anwendungen sucht, findet diese z.B. im Wiki auf Archlinux.org oder bei GuNNiX.