Software Deutsch : Brauche mal Info/Hilfe Kompilieren, wie?!


Andre D

Newbie
Joined
Jun 14, 2016
Messages
16
Hi,

bin ganz neu bei Linux und kenne mich dadurch natürlich noch nicht so aus. Habe jetzt die Pandora schon bisschen bespielt und bin begeistert, nur gibts es von vielen Emulatoren leider nur ältere Versionen, Mame z.b.

wie kann ich jetzt den Mame Sourcecode mit / auf die Pandora Kompilieren. Was muss ich machen, was brauche ich dafür. Funktioniert das ohne Probleme, oder muss ich dabei irgendwas spezielles beachten??

Leider sind die meisten How to's auf Englisch, was eigentlich nicht das Problem ist. Aber sobald es technisch wird, blicke ich es nicht mehr :oops:

Vielen Dank schonmal für eure hilfe...!

Gruß Andre
 

lukey

Rare Species
Joined
Jun 17, 2015
Messages
502
Location
Germany
Hmm... ich hoffe du verstehst die Kleine Anleitung hier :):

1. Brauchst du Compiler & Co. Ich empfehle hier die dchrt chroot Umgebung, die man hier Downloaden kann. Pack die Datei auf eine ext2/3/4 Formatierte SD Karte und steck die Karte in deine Pandora. Dort gest du zu dem Ordner mit der Datei machst und machst (ohne eine datei auszwälen) rechtsklick->"Open Terminal here". Dort gibst du "sudo tar -xpf <Dateiname>" (i.e. "sudo tar -xpf dchrt-06.tar.xz") ein, um die Dateien aus dem Archiv zu extrahieren (sudo wird penötigt, da nur root spezielle Datein Erstellen/Extrahieren kann). In dem Ordner mit der Datei sollte nun ein Order sein. Betrete ihn und mach wieder rechtsklick->"Open Terminal here". Dort gibst du "sudo ./chroot.sh" ein, um die Chroot umgebung zu betreten.

2. Brauchst du den Source Code von dem zu Compilierenden Programm. Den kriegst du z.b. mit "git clone <quelle>" (<quelle> ist z.b. bei Github Projekten angegeben) oder wie im fall von Mame über ein Source Packet/Archiv. Eigentlich kann man das archiv einfach downloaden und in das Chroot verzeichniss verschieben, ich bevorzuge aber meist dierekt innerhalbe der Chroot umgebung zu downloaden (Mit "wget <url>" ) im falle von mame also "wget https://github.com/mamedev/mame/releases/download/mame0174/mame0174s.zip". Anschliesend entpacken ("unzip <Dateinahme>")

3. Mit "cd <ordnernahme>" bettritst du den Enpackten Ordner (Tipp: Drücke TAB für die automatische Datei/Ordnernamen vervollständigung) mit dem Sourcecode. Dort führst du "./configure" aus, um die Bau-Abhängigkeiten zu überprüfen und um die Makefile zu generieren. Falls kein ./configure vorhanden ist, versuche "cmake ." und falls dass auch nicht klappt zuerst "autoreconf -i" und dann "./configure". Eventuell wird über Abhängigkeiten gemeckert. Diese musst du zuerst separat downloaden und kompilieren.

4. Jetzt wo du die Bauanleitung (Makefile) generiert hasst, kannst du mit "make" das Compilieren starten. Falls alles glatt läuft kannst du anschließend mit "make install" die Software im chroot installieren.

5. Zum testen (innerhalb des chroots) "mame" o.ä. ausführen. Falls es eine GUI app ist, musst du vor dem testen außerhalb des Chroots ein Terminal öffnen und dort "xhost +" eingeben und innerhalbe des Chroots einmal "export DISPLAY=:0" eingeben.

Viel glück/spaß:)
 
Last edited:

Andre D

Newbie
Joined
Jun 14, 2016
Messages
16
Hi,

danke schonmal für die Anleitungen. Ich probiere es mal aus (beides). Hoffe ich bekomme das hin :D
 

___

Advanced Member
Joined
Jan 31, 2006
Messages
3,376
Hey, wenn ich dir was empfehlen darf: wenn du noch nicht so viel Erfahrung mit der kompilierung von Programmen hast, dann sei geduldig und google jeden Fehler den du so bekommst. Falls der Kompilations Prozess schief geht, kannst du oft viele der Antworten auf einfache Fehler leicht finden oder zumindest lernen, wie du Sie in Zukunft selbst beheben kannst. Und du wirst oft auf Code stoßen, der nicht einfach zu kompilieren ist. Viele Dinge bedürfen Anpassung vor dem kompilieren und einiges an source code wird auch niemals wollen. Ich hab mir auch schon so an manchen Sachen echt die Zähne ausgebissen. Gerade Emulatoren sind keine "und los jetzt funktionierts" Geschichte, oft muss der Code noch ordentlich optimiert oder bestimmte compiler flags gesetzt werden, die nicht jedem einfach so bekannt sind und die sich je nach mathematischem Problem auch unterscheiden können. Da kanns schon passieren, dass du ein brauchbares Programm kompilierst, es aber höllisch langsam läuft oder du den Bildschirm skalieren musst, damit alles richtig passt.

Also, falls Mame jetzt nicht auf Anhieb so will wie du, gib nicht auf und probier auch mal aus, ein paar kleinere Programme aus der Kommandozeile zu kompilieren, um Erfahrung mit den Tools zu bekommen. Auch wie man mit git umgeht ist super zu wissen, da wartet ne Welt an Spaß auf dich!

Bin gespannt wie weit du so kommst mit MAME!

EDIT: Rechtschreibung

Achso... dass es eine deutsche Community gibt weisst du schon oder?
http://forum.gp2x.de/

@Andre D sorry dir so bescheuerte anfänger tipps zu geben, aber als linux newbie kannst du sie bestimmt brauchen: hier noch ne deutsche Seite die in die Kommandozeile einführt und ein paar Grundlegende Befehle erklärt http://linux-deutsch.de/linux-shell/

fast alle Befehle sind universell in alle linux distributionen vertreten, oft kannst du das Wissen das aus obskuren foren und von obskuren distributionen stammt (so wie dem Pandora Linux Super Zaxxon, was ein Derivat von Angström ist) auch auf anderen Linuxen anwenden.
 
Last edited:

Andre D

Newbie
Joined
Jun 14, 2016
Messages
16
Hi.

Anfänger Tipps sind immer gut für nen Anfänger!! Hab jetzt erstmal alles zusammen gesammelt und generkt dass meine "dev" sd karte zu klein ist. Neue kommt am Mittwoch. Bis dahin werde ich mich einlesen....

Mich hat es einfach auch gewundert dass es fast jeden Emulator gibt für die Pandora, aber alles alte Versionen, welche schon paar Jahre aufm Buckel haben. Und ich bin ein Typ, der gerne die Aktuellste Version nutzt!

Das mit der Deutschen Community wusste ich nicht ✌ werde aber heute abend mal reingucken....

Vielen dank nochmal für eure Tipps und Hilfe! Ich werde berichten....
 

___

Advanced Member
Joined
Jan 31, 2006
Messages
3,376
ja cool, dass wir dir weiterhelfen konnten. die meisten emulatoren werden von unseren gurus portiert und optimiert so weit es möglich ist. bei mame kann es sein, dass eine neue version nicht so viele neuerungen bietet, so dass eine aktualisierung nicht gelohnt hätte. die romsets die laufen, laufen halt. chd games kann man leider leistungsmäßig vergessen. zu gp2x zeiten war das noch anders, da gabs ständig ne neue mame version, aber da musste auch der port ordentlich erweitert werden um überhaupt benutzbar zu sein. genauso wars mit final burn. finde den fba port dens für die pandora gibts zb eher mau.

@Andre D wenn du bisschen was üben willst, dann versuch dir mal ne cross compiler umgebung anzulegen. das ist ne gute challenge. dann kannst du aber wenn du erfolgreich bist, die kompilation auf deinem rechner machen und die binaries die du bekommst dann auf die pandora übertragen. spart auf lange sicht viel zeit. hier gibts ein paar images mit denen direkt losgelegt werden kann, aber ich finde gerade keinen link. ich weiss, dass es irgendwo ein ubuntu image gibt, dass ich mal als vm laufen hatte, wo schon eine fertige crosscompiler umgebung für den pandora eingerichtet war. hat jemand noch nen link?
 

Andre D

Newbie
Joined
Jun 14, 2016
Messages
16
Hi,

hab jetzt erstmal gemerkt, dass Mame auf Handhelds / Android usw nicht so einfach ist wie aufm PC !! Denn aufm PC haust die Rom rein und das ganze läuft, dier leider nicht so einfach!! Hab jetzt einiges an Emulatoren ausprobiert und beim FBA aber erstmal hängen geblieben, da dort einiges läuft. Manche (auch ältere Roms) leider ohne Ton !? Aber da stelle ich mal ne Frage im entsprechenden Thread....

Mit dem Kompilieren und für die Pandora anpassen lass ich mir noch viel Zeit, momentan liegen Urlaubsvorbereitungen an usw. Dann muss ich erstmal Linux richtig blicken, damit ich weis was ich eigentlich mache, den nen How To kann man befolgen, muss es aber nicht verstehen!

Aber eure Tipps und Seiten haben mir bisher sehr geholfen! DANKE nochmal dafür !!

Werde jetzt langsam in Linux eintauchen, und mich erstmal an der Pandora erfreuen und hoffen, dass die Pyra bald erscheint :cool::D

Gruß Andre
 

emilio

Member
Joined
Jan 7, 2010
Messages
187
dass es irgendwo ein ubuntu image gibt, dass ich mal als vm laufen hatte, wo schon eine fertige crosscompiler umgebung für den pandora eingerichtet war. hat jemand noch nen link?

Link nicht aber das Image :D

Gibt auch die Möglichkeit die Pandora über WLAN oder Kabel mit dem PC zu verbinden und dann am PC die shell zu haben,
müsste da den Link noch haben zur Anleitung, bin mir nicht mehr sicher was das genau war aber kein VNC.

Auf der verlinken Seite von pandoralive findest du noch viele andere interssante Artikel, auch verschiedene zu Portierungen.
 

lukey

Rare Species
Joined
Jun 17, 2015
Messages
502
Location
Germany
Gibt auch die Möglichkeit die Pandora über WLAN oder Kabel mit dem PC zu verbinden und dann am PC die shell zu haben,
müsste da den Link noch haben zur Anleitung, bin mir nicht mehr sicher was das genau war aber kein VNC.

Ja das geht per SSH. Unter Settings->Startup ->"Enabel/Disable Services on Boot" ->"Start Dropbear" Aktivieren, Neustarten und schon kann man sich mit einem ssh client ("ssh" unter linux oder PuTTY unter Windows) mit der Pandora verbinden. Mit größerem Bildschirm und richtiger Tastatur lässt es sich etwas besser arbeiten. Ich benutze es gerne, um mit "alsamixer" (über ssh) die Lautstärke Fernzubedienen.
 

___

Advanced Member
Joined
Jan 31, 2006
Messages
3,376
aber ein ssh tunnel hat nicht die vorteiler einer crosscompiler umgebung, dann musste wieder darauf hoffen, dass die pandora genug ram zum kompilieren des projekts hat und halt die langsame cpu geschwindigkeit so hinnehmen. kann bei grösseren projekten doof sein. hab unter slackware mal i3 kompiliert, dass hat locker 6 stunden gebraucht. und i3 ist sicherlich nicht so umfangreich wie zB MAME.

@Andre D genau das meinte ich. MAME ist ein Moloch. ebenso fba und andere arcade emulatoren. auch am PC ist es nicht so einfach wie du glaubst. du musst für MAME und andere arcade emulatoren die genaue ROM Version besitzen, die unterstützt wird. da auf arcade board nicht nur ein ROM aufgebracht ist, sondern sich die setups von spiel zu spiel stark unterscheiden (firmware auf dem board, cpu architektur, anzahl der rom chips mit spieldaten und das layout nach dem diese geladen werden), gibts da verschiedene stolperfallen. Je nach grad der verschlüsselung zB. Da gibts zB einen alten dump des arcade boards, bei dem bestimmte chips noch nicht erfolgreich entschlüsselt werden konnten. ein paar jahre später schafft es dann irgendein team von romhackern, bumms gibts ne neue revision des dumps und die emulatoren passen sich an. bzw das romset wird aktualisiert um die neuen daten mit einzubeziehen.

oder eben die sound emulation bei bestimmten boards (zB Cave oder andere hersteller benutzen oft eigens entwickelte boards für mehrere spiele) haut noch nicht hin, also kann man die spiele spielen aber nur mit schlechter oder gar keiner sound emulation.
eine andere version des gleichen emulators kann dann den soundchip doch emulieren, aber es stellt sich heraus, dass der rechenaufwand zu groß wäre und der sound dann stottert und das gameplay nicht mehr flüssig ist. also bleibt man auf dem handheld lieber bei einer älteren version und auf einem älteren romset.

wenn du die version romset herausfinden willst, die du brauchst, dann schau mal in die Readme der pnd, oder im forum.

bei konsolen ist es einfacher, da wirds dann nur schwieriger wenn es um spezielle chips geht, die zB in manchen supernintendo spielen verbaut sind (Star Ocean, Starfox und ein paar andere). die meisten modernen emulatoren kommen auch mit diesen chips klar, aber die romdumps die man so kriegt, sind in der regel funktionstüchtig und unterscheiden sich nur nach region und spielrevision falls die entwickler ne gepatchte version vom gleichen spiel rausgehauen haben.

EDIT: Rähchtschraibuuuunk
 
Top