C&C 1 unter Linux spielen
Seit einiger Zeit verschenkt EA den ersten Teil der Command & Conquer Reihe, den Tiberiumkonflikt. Eine gute Gelegenheit für mich, die NOD-Kampagne zu spielen, die ich damals verschmähte. Unter Ubuntu Dapper Drake, noch mit fglrx, bekam ich das Spiel jedoch nicht zum Laufen. Nun habe ich es mit Hardy und dem freien Ati-Treiber hinbekommen. Leider ist der Weg nicht ganz einfach, weshalb ich hier mein Vorgehen niederschreiben werde.
Die Lösung stammt im Grunde aus dem Ubuntuusers-Spieleforum und ist tatsächlich sehr unschön, da Wine mit Rootrechten gestartet wird. Dies ist potentiell gefährlich und unsauber, klappt bei mir jedoch stabil und mit guter Performance. Es gibt Berichte, laut denen dies alles auch gar nicht nötig sei, die ich allerdings nicht nachvollziehen konnte. Man sollte also vorher testen, ob es auf dem eigenen System nicht auch ganz normal per Wine klappt.
Im Folgenden braucht man einen Ordner, in den die ISO hineingebunden werden soll, /media/images bietet sich an.
Wine sollte per 'winecfg' passend konfiguriert werden: Windowsversion 98, /media/images muss unter "Laufwerke" hinzugefügt und dann unter "Erweitert" als CD-ROM klassifiziert werden.
mount -t iso9660 -o ro,loop /Pfad/zur/ISO /Pfad/zum/Mountordner
Dann wechselt man in den Mountordner
cd /Pfad/zum/Mountordner
Da der Installer nur als Root funktioniert, muss der Wineordner diesem überschrieben werden
chown -R root /home/$USER/.wine
Ein
sudo wine setup.exe
startet dann den Installationsvorgang. Dieser sollte problemlos durchlaufen, man sollte aber darauf achten, nicht die veraltete DirectX-Version zu installieren.
Schließlich müssen noch die beiden Dateien thipx16.dll und thipx32.dll heruntergeladen und in den Ordner /home/$USER.wine/drive_c/WESTWOOD/C\&C95/ geschoben werden.
Man erstellt die Datei /usr/local/bin/cnc und speichert folgendes hinein:
sudo chmod +x /usr/local/bin/cnc
ausführbar gemacht werden, schon startet ein Aufruf 'sudo cnc' das Spiel.
Komfortabler wird es, wenn man dem Benutzer die Passwortabfrage erlässt. Das ist zwar potententiell unsicher, aber wenn man darauf achtet, dass die Datei cnc nur von Root bearbeitet werden kann, ist das keine echte Lücke. Wer bereit ist, Wine als Root zu starten, wird das verkraften.
Die Lösung stammt im Grunde aus dem Ubuntuusers-Spieleforum und ist tatsächlich sehr unschön, da Wine mit Rootrechten gestartet wird. Dies ist potentiell gefährlich und unsauber, klappt bei mir jedoch stabil und mit guter Performance. Es gibt Berichte, laut denen dies alles auch gar nicht nötig sei, die ich allerdings nicht nachvollziehen konnte. Man sollte also vorher testen, ob es auf dem eigenen System nicht auch ganz normal per Wine klappt.
Vorbereitung
Wine muss installiert sein, es genügt die Version aus den Hardyquellen. Die Images bekommt man z.B. von Filefront (NOD, GDI, eine reicht aus) oder von der EA-Seite, die aber bei mir nicht vollständig angezeigt und daher nicht verlinkt wird.Im Folgenden braucht man einen Ordner, in den die ISO hineingebunden werden soll, /media/images bietet sich an.
Wine sollte per 'winecfg' passend konfiguriert werden: Windowsversion 98, /media/images muss unter "Laufwerke" hinzugefügt und dann unter "Erweitert" als CD-ROM klassifiziert werden.
Installation
Nun kann man das Image in den Mountordner einbinden. Dafür führt man folgenden angepassten Befehl aus:mount -t iso9660 -o ro,loop /Pfad/zur/ISO /Pfad/zum/Mountordner
Dann wechselt man in den Mountordner
cd /Pfad/zum/Mountordner
Da der Installer nur als Root funktioniert, muss der Wineordner diesem überschrieben werden
chown -R root /home/$USER/.wine
Ein
sudo wine setup.exe
startet dann den Installationsvorgang. Dieser sollte problemlos durchlaufen, man sollte aber darauf achten, nicht die veraltete DirectX-Version zu installieren.
Schließlich müssen noch die beiden Dateien thipx16.dll und thipx32.dll heruntergeladen und in den Ordner /home/$USER.wine/drive_c/WESTWOOD/C\&C95/ geschoben werden.
Spielen
Auch zum Spielen muss Wine mit Rootrechten laufen, man beachte dazu die Hinweise in der Einleitung. Um den Wineordner nach dem Spielen immer(!) wieder dem Benutzer zurückzugeben und um das ganze komfortabel zu machen, nutzt man am besten ein simples Shellskript.Man erstellt die Datei /usr/local/bin/cnc und speichert folgendes hinein:
#!/bin/sh #the normal user (loginname) USERNAME=onli #Where is the iso? IMAGEPATH=/home/$USERNAME/Desktop/CnC_NOD95.iso #Where shall the iso be mounted in? MOUNTPATH=/media/images umount $MOUNTPATH mount -t iso9660 -o ro,loop $IMAGEPATH $MOUNTPATH chown -R root /home/$USERNAME/.wine cd /home/$USERNAME/.wine/drive_c/WESTWOOD/C\&C95/ wine C\&C95.EXE -cd $MOUNTPATH chown -R $USERNAME /home/$USERNAME/.wine umount $MOUNTPATHJetzt müssen nur noch die drei Konstanten USERNAME, IMAGEPATH und MOUNTPATH dem jeweiligen System angepasst und die Datei mit
sudo chmod +x /usr/local/bin/cnc
ausführbar gemacht werden, schon startet ein Aufruf 'sudo cnc' das Spiel.
Komfortabler wird es, wenn man dem Benutzer die Passwortabfrage erlässt. Das ist zwar potententiell unsicher, aber wenn man darauf achtet, dass die Datei cnc nur von Root bearbeitet werden kann, ist das keine echte Lücke. Wer bereit ist, Wine als Root zu starten, wird das verkraften.
onli - 10. Mai, 08:57
Trackback URL:
https://onli.twoday.net/stories/4916524/modTrackback