Trine 2 ist seit dem 31. März 2012 für Linux verfügbar und ohne lange Diskussion das im Moment mit großen Abstand grafisch aufwändigste Spiel für Linux. Es läuft mit ein wenig Gebastel einwandfrei unter FreeBSD. Diese Anleitung wurde unter FreeBSD 9.0 erstellt, ältere Versionen mögen auch funktionieren, aber ich kann es nicht Versprechen. Ich beziehe mich auf die Verkaufsversion von http://www.trine2.com, zwischen der normalen Version und der Collectors Edition besteht kein Unterschied.
Systemvoraussetzungen
--------------------------------
- Eine Nvidia-Grafikkarte mit Blob. Eine 8600GT ist nach Berichten das absolute Minimum, eine 9800GT besser und eine GTX 260 optimal. Der Treiber sollte aktuell sein.
- Eine schnelle CPU, wobei ein 2,5GHz Dual-Core wohl ausreichend ist.
- Mindestens 2GB RAM, besser 4GB.
Den Linuxulator vorbereiten
-----------------------------------
Erst einmal muss der Linuxulator wie im Handbuch beschrieben installiert werden. Trine 2 benötigt zusätzlich zur linux_base-f10 mindestens folgende Ports. Eventuell noch ein paar mehr, aber das kann ich (derzeit) nicht sicher sagen:
- audio/linux-f10-libvorbis
- graphics/linux-f10-libGLU
- x11-toolkits/linux-f10-gtk2
Es stellt sich nun das Problem, dass Trine 2 eine neuere Version der glibc benötigt, als dem Linuxulator beiliegt. Leider kann die glibc nicht einfach per LD_LIBRARY_PATH nachgeladen werden, sie muss in der Linux-Base selbst ersetzt werden. Das zerdeppert den Linuxulator für andere Anwendungen! Ein möglicher Ausweg sind Symlinks:
Soll nun eine normale Linux-Anwendung ausgeführt werden, kann der Symlink einfach umgesetzt werden:
Anschließend werden neuere Versionen der glibc und glibc-common aus Fedora 12 heruntergeladen. Es sind im Einzelnen:
- ftp://ftp.pbone.net/mirror/archive....linux/updates/12/i386/glibc-2.11.2-3.i686.rpm
- ftp://ftp.pbone.net/mirror/archive....i386/os/Packages/glibc-common-2.11-2.i686.rpm
Diese Paketen werden mit rpm2cpi(1) installiert:
Da die neue glibc einen Linux 2.6.18 Kernel erwartet, müssen wir unseren Linuxulator zu einem machen. Zar unterstützt FreeBSD 2.6.18 nicht vollständig, aber für unsere Zwecke reicht es aus:
Nun ist das System bereit für Trine 2.
Trine 2 installieren
-----------------------
Trine 2 kommt in Form der Datei trine2_linux_installer.run als Download auf die Festplatte. Diese Datei ist ein selbstextrahierendes Shellscript, es lässt sich auch mit etwas Gefummel nicht unter FreeBSD erfolgreich ausführen. Ich habe daher eine VM mit einer Ubuntu-LiveCD gestartet und dort drin das Spiel nach ~/Trine2 installiert. Anschließend habe ich das Verzeichnis auf den FreeBSD-Host kopiert.
Das so installierte Trine 2 hat 4 Probleme:
1. Die beiliegende libSDL nutzt "evdev" für die Eingabe. Das ist ein Eingabesystem für Linux, unter FreeBSD existiert es nicht. Sobald sie evdev anzusprechen versucht, crasht das Spiel. Ich habe daher eine libSDL aus dem Mercurial mit Stand letzter November unter einem echten Fedora 10 in einer VM gebaut, die kein evdev nutzt. Mit ihr funktioniert das Spiel.
2. Das OpenAL des Linuxulators hat keinen Sound. Das ist bekannt, ich habe daher bereits seit langer Zeit eine selbstgebaute libopenal.so.1, die unter FreeBSD Sound gibt.
3. Der Loader benötigt eine glib20, die neuer als die der Linux-Base ist. Ich habe daher eine erstellt.
4. Das Spiel benötigt eine libstdc++, die neuer als die der Linux-Base ist. Ich habe eine gebaut.
All diese Bibliotheken können hier heruntergeladen werden: http://deponie.yamagi.org/freebsd/misc/trine2_libs.tar.xz
Anschließend werden sie ins Spiel extrahiert:
Nun muss noch der Sheband des Startscripts "trine2.sh" auf /compat/linux/bin/sh" geändert werden. Anschließend lässt sich Trine 2 über es starten und kann gespielt werden. Viel Spaß damit.
Systemvoraussetzungen
--------------------------------
- Eine Nvidia-Grafikkarte mit Blob. Eine 8600GT ist nach Berichten das absolute Minimum, eine 9800GT besser und eine GTX 260 optimal. Der Treiber sollte aktuell sein.
- Eine schnelle CPU, wobei ein 2,5GHz Dual-Core wohl ausreichend ist.
- Mindestens 2GB RAM, besser 4GB.
Den Linuxulator vorbereiten
-----------------------------------
Erst einmal muss der Linuxulator wie im Handbuch beschrieben installiert werden. Trine 2 benötigt zusätzlich zur linux_base-f10 mindestens folgende Ports. Eventuell noch ein paar mehr, aber das kann ich (derzeit) nicht sicher sagen:
- audio/linux-f10-libvorbis
- graphics/linux-f10-libGLU
- x11-toolkits/linux-f10-gtk2
Es stellt sich nun das Problem, dass Trine 2 eine neuere Version der glibc benötigt, als dem Linuxulator beiliegt. Leider kann die glibc nicht einfach per LD_LIBRARY_PATH nachgeladen werden, sie muss in der Linux-Base selbst ersetzt werden. Das zerdeppert den Linuxulator für andere Anwendungen! Ein möglicher Ausweg sind Symlinks:
Code:
cd /compat
cp -rp linux linux_base
mv linux linux_trine2
ln -s linux_trine2 linux
Soll nun eine normale Linux-Anwendung ausgeführt werden, kann der Symlink einfach umgesetzt werden:
Code:
cd /compat
rm linux
ln -s linux_base linux
Anschließend werden neuere Versionen der glibc und glibc-common aus Fedora 12 heruntergeladen. Es sind im Einzelnen:
- ftp://ftp.pbone.net/mirror/archive....linux/updates/12/i386/glibc-2.11.2-3.i686.rpm
- ftp://ftp.pbone.net/mirror/archive....i386/os/Packages/glibc-common-2.11-2.i686.rpm
Diese Paketen werden mit rpm2cpi(1) installiert:
Code:
cd /compat/linux
rpm2cpio glibc-2.11.2-3.i686.rpm | tar xfv -
rpm2cpio glibc-common-2.11-2.i686.rpm | tar xfv -
Da die neue glibc einen Linux 2.6.18 Kernel erwartet, müssen wir unseren Linuxulator zu einem machen. Zar unterstützt FreeBSD 2.6.18 nicht vollständig, aber für unsere Zwecke reicht es aus:
Code:
sysctl compat.linux.osrelease=2.6.18
Nun ist das System bereit für Trine 2.
Trine 2 installieren
-----------------------
Trine 2 kommt in Form der Datei trine2_linux_installer.run als Download auf die Festplatte. Diese Datei ist ein selbstextrahierendes Shellscript, es lässt sich auch mit etwas Gefummel nicht unter FreeBSD erfolgreich ausführen. Ich habe daher eine VM mit einer Ubuntu-LiveCD gestartet und dort drin das Spiel nach ~/Trine2 installiert. Anschließend habe ich das Verzeichnis auf den FreeBSD-Host kopiert.
Das so installierte Trine 2 hat 4 Probleme:
1. Die beiliegende libSDL nutzt "evdev" für die Eingabe. Das ist ein Eingabesystem für Linux, unter FreeBSD existiert es nicht. Sobald sie evdev anzusprechen versucht, crasht das Spiel. Ich habe daher eine libSDL aus dem Mercurial mit Stand letzter November unter einem echten Fedora 10 in einer VM gebaut, die kein evdev nutzt. Mit ihr funktioniert das Spiel.
2. Das OpenAL des Linuxulators hat keinen Sound. Das ist bekannt, ich habe daher bereits seit langer Zeit eine selbstgebaute libopenal.so.1, die unter FreeBSD Sound gibt.
3. Der Loader benötigt eine glib20, die neuer als die der Linux-Base ist. Ich habe daher eine erstellt.
4. Das Spiel benötigt eine libstdc++, die neuer als die der Linux-Base ist. Ich habe eine gebaut.
All diese Bibliotheken können hier heruntergeladen werden: http://deponie.yamagi.org/freebsd/misc/trine2_libs.tar.xz
Anschließend werden sie ins Spiel extrahiert:
Code:
cd ~/Trine2/lib/lib32
tar xfv trine2_libs.tar.xz
Nun muss noch der Sheband des Startscripts "trine2.sh" auf /compat/linux/bin/sh" geändert werden. Anschließend lässt sich Trine 2 über es starten und kann gespielt werden. Viel Spaß damit.
Zuletzt bearbeitet: