Eigentlich bin ich mir nicht sicher, ob es wirklich nötig ist, dafür einen neuen Thread zu eröffnen, weil es so einfach geht. Aber vielleicht kann man dem Linux-Anfänger ja ein kleines Aha-Erlebnis verschaffen. Wir hatten hier schon mal kurz angerissen, dass es beim ersten Teil und der Demo von AFdZ geht. Nun also, wie es mit der Releaseversion geht und ein paar Tipps für kleinere Problemchen.
Ab sofort muss man nicht immer umbooten, wenn man mal eben Aventurien unsicher machen will! 
Das Ziel:
Das Spiel "Drakensang - Am Fluss der Zeit" soll unter Linux mithilfe von Wine zum Laufen gebracht werden.
Meine Vorbedingungen:
Schritt 1: Wine konfigurieren
Öffnet ein Terminal und startet das Wine-Konfigurationsprogramm:
Klickt auf den Karteireiter "Audio" und stellt sicher, dass bei "OSS" ein Häkchen gesetzt ist und entfernt alle anderen Häkchen. Den Rest kann man auf den Vorgaben belassen (Hardwarebeschleunigung: voll, Abtastrate 44100 KHz, Bitrate: 16 Bit).
Schritt 2: xact-Engine installieren
Drakensang benutzt die xact-Engine, also müssen wir die installieren. Am einfachsten geht das mit
winetricks. Hier mal die einzelnen Schritte zur Installation von winetricks und xact:
Code:
$ wget http://winezeug.googlecode.com/svn/trunk/winetricks
$ chmod +x winetricks
$ sudo mv winetricks /usr/local/bin
$ winetricks xact
Nun sollte xact installiert sein. DirectX9 kann man zwar mit winetricks auch installieren, aber das war bei mir nicht notwendig. Das Setup von AFdZ installiert automatisch die DirectX-Runtime und das ohne Probleme. Nur ganz am Ende der DX-Installation dauert es eine ziemliche Weile, bis es weitergeht. Da muss man etwas Geduld mitbringen. Die installierte DirectX-Version ist zwar mittlerweile nicht mehr ganz taufrisch, aber sie funktioniert einwandfrei. Wenn man winetricks ohne Parameter aufruft, erscheint ein Auswahlfenster mit allen zur Auswahl stehenden Komponenten.
Schritt 3: Drakensang installieren
Legt die DVD ein, mountet sie (falls das nicht automatisch passsiert) und startet dann das Setup:
Code:
$ mount /media/cdrom0
$ cd /media/cdrom0
$ wine setup.exe
Das Setup sollte eigentlich problemlos durchlaufen und alles installieren. Ich habe das Spiel nach /usr/local/games/drakensang_trot installieren lassen (FHS-konform), aber im Prinzip ist es wurscht. Ihr müsst natürlich Schreibrechte auf das Verzeichnis besitzen (in /usr/local/games darf normal nur root schreiben).
Schritt 4: Spielen!
Jupp. Das war's schon. Jetzt müsste man Drakensang AFdZ starten können (Pfad ggf. anpassen):
Code:
$ cd /usr/local/games/drakensang_trot
$ wine drakensang.exe
Der Kopierschutz sollte keine Probleme machen (bei mir hat er das jedenfalls nicht). Nur die DVD muss natürlich im Laufwerk sein.
Einschränkungen gegenüber Windows
Ich habe keinen Unterschied zu Windows feststellen können, abgesehen davon, dass unter Wine die Performance einen Tick schlechter ist. In Nadoret habe ich selbst unter WinXP nur ca. 25 fps, unter Wine kann es dann auch mal mit 15-20 fps etwas ruckelig werden, wenn man die Grafikdetails nicht anpasst (das Abschalten der Außenbereichslichtquellen hat bei mir genügt). Vermutlich liegt das am Debuggingcode und fehlenden Optimierungen in WINE, aber falls jemand einen Tipp dazu hat - naja, dafür ist der Thread ja da. Abgesehen von Nadoret ist das aber (zumindest bei meiner GTX260) kein Problem.
Bisher habe ich Antialiasing nicht hinbekommen, weder über die Einstellungen im Spiel, noch über den Treiber oder mit winetricks.
Problemlösungen, Tipps, Tweaks
Beim Start von Drakensang erscheint: "Cannot initialize DirectSound!"
Weil xact noch ein bisschen hakelig ist, haben wir die unproblematische (weil steinalte) Klangausgabe via OSS gewählt. Der Nachteil ist, dass bei OSS - im Gegensatz zum moderneren ALSA - immer nur eine Anwendung das Sounddevice benutzen darf. Dieser Fehler kann daher rühren, dass das Gerät bereits belegt ist. Beende alle Medienabspieler (MP3- und Movieplayer), Soundserver, Schnittprogramme. Im Zweifel alles, was irgendwie mit Multimedia zu tun hat.
Falls du die ALSA-Treiber benutzt, stelle sicher, dass die OSS-Kompabilitätsschicht geladen ist.
Mein Charakter bewegt sich ruckelnd, die Animationen laufen nicht flüssig!
Das kann daran liegen, dass die automatische Tastenwiederholung von X11 sich mit den Abfragemechanismen von DirectX ins Gehege kommt. Jedenfalls war das bei mir die Problemursache. Am besten stellt man die Tastenwiederholung einfach ab und nachher wieder an. Wenn du ein bequemes Shellskript dafür willst, dann erstelle im Drakensang-Verzeichnis eine Datei (z.B. "drasa.sh") mit folgendem Inhalt:
Code:
#!/bin/sh
xset r off
wine drakensang.exe
xset r on
Markiere die Datei als ausführbar:
Code:
$ chmod +x drasa.sh
und fortan kannst du das Spiel bequem darüber starten:
Ich habe generelle Probleme (Setup blockiert/stürzt ab, Spiel startet nicht, etc).
Wenn bereits der Aufruf des Installationsprogramms oder des Spiels fehlschlägt, solltest du als erstes sicherstellen, dass du den an WINE übergebenen Pfad in Windows-Notation und nicht in Unix-Notation angegeben hast.
Das bedeutet, dass du nicht:
Code:
$ wine /media/cdrom0/setup.exe
aufrufen solltest, sondern statt dessen:
Code:
$ wine 'Z:\media\cdrom0\setup.exe'
Je nach deiner WINE-Konfiguration kann die Windows-Notation auch anders aussehen (z.B. anderer Laufwerksbuchstabe), aber im Normalfall sollte es so funktionieren.
Es kann zwar funktionieren, wenn man die Unix-Notation verwendet (und tatsächlich war es so in dieser Anleitung beschrieben, als ich sie erstellte), aber leider muss es das nicht. Da man, wenn es Probleme gibt, nur wenig aufschlussreiche Fehlermeldungen erhält und lange nach dem Problem suchen kann, solltest du dir angewöhnen, Programme via WINE immer mit Windows-Notation aufzurufen. Sicher ist sicher.
Beachte auch unbedingt die einfachen Anführungszeichen (') um den Pfad. Sie verhindern, dass die Shell den umgekehrten Schrägstrich als Escapesequenz interpretieren will. Wenn du sie weglassen willst oder musst, dann muss jeder Backslash verdoppelt werden.
Sollte dies nicht die Ursache deiner Probleme sein: Eventuell ist deine vorhandene Wine-Konfiguration nicht kompatibel mit Drakensang. Beginne einfach mit einer frischen, sauberen Neuinstallation.
Der Befehl:
Code:
$ mv ~/.wine ~/.wine.backup
schiebt deine gesamte Konfiguration beiseite. Wenn du dann einfach nochmal von vorne anfängst, wird winecfg dir automatisch eine neue Standardkonfiguration erstellen, die frei von irgendwelchen Altlasten ist.
Wer mag, kann sich auch mit PlayOnLinux die Verwaltung mehrerer Wine-Konfigurationen und -Installationen automatisieren, aber das ist was für Fortgeschrittene, solange es dafür kein fertiges Skript zum Download gibt (was zum Zeitpunkt, als dieser Text gepostet wurde, nicht der Fall war).