Raspberry Pi x86 Spiele Emulator
In diesem Tutorial zeige ich euch welche Erfahrungen ich mit dem x86 Spiele Emulator gemacht habe. Laut ExaGear kann man sehr viele unterschiedliche Spiele problemlos über den x86 Emulator in Kombination mit WineHQ auf einem Raspberry Pi 2 oder 3 starten. Geht das wirklich so einfach?
Raspberry Pi x86 Spiele Emulator
Mit dem x86 Emulator von ExaGear kann man recht einfach x86 Programme, sogar Windows Programme am Raspberry Pi emulieren. Wie sieht das aber bei Spielen aus? Der Hersteller des Emulators macht ja groß damit Werbung, dass man seine alten Games damit wieder Spielen kann, sogar am Raspberry Pi. Ich wollte wissen ob und wie das geht.
Beispielanwendung
Laut der Anleitung vom Hersteller ist das Spiel „Sid Meiers Alpha Centauri“ eines jener das garantiert funktioniert. Fairerweise möchte ich nicht gleich im ersten Test mit einem unmöglich zum Laufen zu bringenden Spiel beginnen. Alpha Centauri konnte ich bis jetzt leider nicht auf den neuen Windows Systemen spielen, also passt das ganz gut.
Ich habe mir das Spiel vor langer Zeit in einer Sammleredition auf CD Rom gekauft und nie wirklich gespielt. Der erste etwas schwierige Schritt besteht nun darin, dass wir das Spiel am Raspberry Pi von einer CD Rom installieren. Leider hat der Pi kein CD Laufwerk. Der Versuch ein externes USB CD Laufwerk anzuschließen funktionierte bei mir nicht, vermutlich kennt Raspbian Linux gar keine CD Treiber (wozu auch). Ich erstelle mir also schnell am Rechner ein ISO der CD mit folgenden Befehlen:
isoinfo -d -i /dev/cdrom | grep -i -E 'block size|volume size' Logical block size is: 2048 Volume size is: 248510
Bei eingelegter CD Rom werden damit block size und volume size des Datenträgers ausgegeben. Diese Informatione benötigen wir nun um das ISO mit folgendem Befehl zu erstellen:
dd if=/dev/cdrom of=alphacentauri.iso bs=2048 count=248510
Für bs und count wurden die Werte vom oben angezeigten Befehl angegeben. Das Kopieren der Daten dauert nun einige Zeit, wir können uns mal einen Kaffee machen.
Anstatt nun die ISO Datei auf den Raspberry Pi zu kopieren (ich erkläre weiter unten warum) erstellen wir daraus einfach einen USB Stick:
sudo dd if=alphacentauri.iso of=/dev/sdd bs=1M
/dev/sdd ist bei mir der USB Stick. Das wird bei euch vermutlich ein anderes Device sein. Bitte vorher kontrollieren! Steck man nun den Stick in einen der USB Ports am Raspberry Pi, dann ist das so, als würde dort das USB CD Rom Laufwerk liegen. Es werden die Daten vom root der CD angezeigt.
Exkurs: ISO am Raspberry Pi mounten
Der eine eine oder andere fragt sich vielleicht, warum ich nicht einfach die Iso Datei auf den Raspberry Pi kopiere und dort mounte. Linux unterstütz das, man sollte die *.iso Datei wie folgt mounten können:
mount alphacentauri.iso /mnt/cdmount -o loop,ro
Leider werden wir mit dem ersten Problem konfrontiert: „failed to setup loop device: Invalid argument„. Raspbian Linux unterstützt scheinbar loop devices nicht per Default. Es gibt zwar Anleitungen wie man das ändern kann, die gezeigte Variante mit dem USB Stick ist aber schneller und erheblich einfacher.
Enttäuschung
Der zweite Teil meiner Anleitung schildert meine Enttäuschung, denn selbst nach mehreren Stunden Arbeit und unterschiedlichen Herangehensweisen und Recherche ohne Ende konnte ich das Spiel am Pi nicht spielen. Das folgende Bild zeigt das Problem und einen möglichen Ansatz:
Immer wenn man versucht eine *.exe Datei zu starten endet man im folgenden Fehler: „HEAP_CreateSystemHeap system heap base address 0x80000000 not available“ und „detected a load of CS with a non-standard selector„. Leider gibt es dazu im Netz keine hilfreiche Anleitung. In der ExaGear Doku werden die Spiele in einem emulierten virtuellen Desktop installiert und gestartet. Diesen kann man über:
winecfg
in den Einstellungen aktivieren. Leider ändert das am grundlegenden Problem nichts.
Aufgeben?
So leicht wollte ich dann doch nicht aufgeben und habe noch „Die Siedler 2“ und „Der Industriegigant“ probiert. Leider mit jeweils dem selben Problem.
In der Dokumentation wurden Spiele getestet, die zuvor über gog.com erworben wurde. Eventuell hat das etwas damit zu tun, ich habe leider nicht die Möglichkeit das auszuprobieren. Vielleicht hat ja einer von euch bereits Erfahrung?
Fazit
Beim Raspberry Pi x86 Spiele Emulator muss ich leider resignieren. Das Problem ist vielleicht nur eine Kleinigkeit, vielleicht aber auch bedingt durch eine neuere Version von Raspbian oder vom Kernel. Ohne weitere Hilfestellung komme ich leider nicht weiter. Eine Mail an Exagear ist bis heute leider unbeantwortet.
Was denkt ihr über x86 Spiele Emulatoren für den Raspberry Pi? Als Retro Spielkonsole macht es ja sinn, aber muss man auch 90er – 2000er Jahre Spiele zocken können?