Kultboy Forum

Bitte loggen sie sich ein oder registrieren sie sich.

Einloggen mit Benutzername, Passwort und Sitzungslänge
Erweiterte Suche  

Neuigkeiten:

Autor Thema: Raspberry Pi + Retropie = spottbillige Emulationsmaschine  (Gelesen 2190 mal)

onlyaroth

  • 42
  • Kuuuult
  • *****
  • Offline Offline
  • Beiträge: 998
  • Affe wählt onlyaroth
Re: Raspberry Pi + Retropie = spottbillige Emulationsmaschine
« Antwort #45 am: 03.12.2018, 17:38 »


Zu dem Start Problem bzw. exec format error:
du musst das Spiel für dein System kompilieren, nur das kopieren der enthaltenen rocksndiaomant Datei funktioniert leider nicht, du musst davor eben make clean und make sdl ausführen (und make sdl muss ohne Fehler durchlaufen).


Also weiter gehts...
Reden wir von diesem Schritt?

cd rocksndiamonds-4.0.0.0-rc3
make clean
make sdl

Die F Tasten sind irgendwie wirkungslos, um in die Benutzerebene zurück zu kommen... ?

Und an die Anderen hier:
Öhm... Ach Quatsch, das ist alles voll easy! Leichter als n volles Katzenklo auszuraeumen. :D
Hust.
« Letzte Änderung: 03.12.2018, 17:41 von onlyaroth »
Gespeichert
Mr. Onlyaroth kaniditiert für das Amt des US - Präsidenten 20XX, und hofft auch auf DEINE Stimme!



^^

mive

  • Kult
  • *
  • Offline Offline
  • Beiträge: 16
Re: Raspberry Pi + Retropie = spottbillige Emulationsmaschine
« Antwort #46 am: 03.12.2018, 18:47 »

ja genau.

du kannst auch einfach mit sudo reboot neustarten, aber eigentlich sollte die retropi Oberfläche auch erreichbar sein (evtl. mal zweimal drücken btw. kurz warten bevor du die nächste versuchst).


---
Wenns jetzt gar nicht klappt, ich hab die ein Skript zusammengewurtschtelt welches das ganze erledigen sollte, am einfachsten über WinSCP (in der portablen Version, gratis) anmelden, rüberkopieren und ausführen.

siehe Bilder:
https://picload.org/view/dcllpgld/scp-1.png.html
https://picload.org/view/dcllpgla/scp2.png.html
https://picload.org/view/dcllpglo/scp3.png.html
https://picload.org/view/dcllpgll/scp4.png.html
https://picload.org/view/dcllpglc/scp5.png.html
https://picload.org/view/dcllpgli/scp6.png.html
https://picload.org/view/dcllpglp/scp7.png.html


das wäre das Skript:
#!/bin/sh

# script to download rocksndiamonds-4.0.0-rc3
# compile it and copy needed contents to some dir


SRC_FILE="rocksndiamonds-4.1.1.0.tar.gz"     # rocksndiamonds-4.0.0-rc
SRC_DIR="/tmp/emeraldmine_src"      # directory for source files
TARGET_DIR="$HOME/rocksndiamonds"   # directory for installed files (maybe use /opt/retropie/emulators instead)
RETROPIE_PATH="$HOME/RetroPie/roms/ports"
RETROPIE_SCRIPT_NAME="start_rocksndiamonds.sh"

usage() {
printf "%s\n%s\n%s\n" \
"Usage:" \
"install: dl and install in $TARGET_DIR (you can also specify TARGET here, e.g. sdl2  [default: sdl])" \
"remove: remove $TARGET_DIR and $SRC_DIR"
}

check() {
if [ -z $(df -m | grep ${SRC_DIR%/*} | awk '{print $4}') ]
    then
        echo "${SRC_DIR%/*} not a mount point!"
        exit 1
elif [ $(df -m | grep ${SRC_DIR%/*} | awk '{print $4}') -lt 50 ]
    then
        echo "Not enough free space in ${SRC_DIR%/*}!"
        exit 1
#else
#    return 0
fi
}

create_dirs() {
if [ ! -e $SRC_DIR ];
    then
        mkdir -p $SRC_DIR;
        echo "Created $SRC_DIR";
fi
if [ ! -e $TARGET_DIR ];
    then
mkdir -p $TARGET_DIR;
    echo "Created $TARGET_DIR";
fi
}

dl_tar() {
wget "http://www.artsoft.org/RELEASES/unix/rocksndiamonds/$SRC_FILE" -O "$SRC_DIR/$SRC_FILE"
}

create_start_script() {
# start with empty script
echo '#!/bin/sh' > "$RETROPIE_PATH/$RETROPIE_SCRIPT_NAME"
echo "" >> "$RETROPIE_PATH/$RETROPIE_SCRIPT_NAME"
echo "$TARGET_DIR/rocksndiamonds" >> "$RETROPIE_PATH/$RETROPIE_SCRIPT_NAME"

chmod 755 "$RETROPIE_PATH/$RETROPIE_SCRIPT_NAME"
}

inst() {
check
create_dirs
dl_tar
cd $SRC_DIR
tar xf $SRC_FILE
cd ${SRC_FILE%.tar.gz}
make clean && make "$1"
cp -r rocksndiamonds docs graphics levels music sounds conf $TARGET_DIR
create_start_script
}

remove() {
if [ -e $SRC_DIR ]; then rm -rf $SRC_DIR; fi
if [ -e $TARGET_DIR ]; then rm -rf $TARGET_DIR; fi

echo "Please note that starting the game also creates a $HOME/.rocksndiamonds directory"

#echo "Please note that starting the game also creates a $HOME/.rocksndiamonds directory. Shall I also remove it? (y/n)"
#read ANSWER
#if [ $ANSWER == "y" ]; then rm -rf $HOME/.rocksndiamonds; fi

# remove retropie entry
if [ -e $RETROPIE_PATH/$RETROPIE_SCRIPT_NAME ];then rm $RETROPIE_PATH/$RETROPIE_SCRIPT_NAME; fi
}

###
case "$1" in
    "install") inst "${2:-sdl}"
        ;;
    "remove"|"uninstall") remove
        ;;
    *) usage
        ;;
esac

mit einem geeigenten Texteditor kopieren und als pi_setup_rocksndiamonds.sh speichern. Mit ./pi_setup_rocksndiamonds.sh install (wie im Bild gezeigt "installieren", mit remove könntest du das Zeug wieder entfernen).
Und es würde die aktuelle Version 4.1.1.0 runterladen (könnte aber auch auf 4.0.0.0-rc3 geändert werden falls unbedingt die Version sein muss)
« Letzte Änderung: 03.12.2018, 18:59 von mive »
Gespeichert

onlyaroth

  • 42
  • Kuuuult
  • *****
  • Offline Offline
  • Beiträge: 998
  • Affe wählt onlyaroth
Re: Raspberry Pi + Retropie = spottbillige Emulationsmaschine
« Antwort #47 am: 03.12.2018, 19:34 »

Danke!

Doch bevor ich das jetzt mache, wollte ich nochmals Deiner ersten Anleitung folgen.

Ist es normal, dass nach dem "make clean" Befehl die Rocksndiamonds Datei fehlt?
Da wundert es mich doch garnicht, dass bei "make sdl" eine Fehlermeldung kommt? (fatal error: SDL_net.h: No sich file or directory)

Edit: Ja, auf jeden Fall hapert es bei dem Schritt. Das is das Problem.
« Letzte Änderung: 03.12.2018, 19:52 von onlyaroth »
Gespeichert
Mr. Onlyaroth kaniditiert für das Amt des US - Präsidenten 20XX, und hofft auch auf DEINE Stimme!



^^

mive

  • Kult
  • *
  • Offline Offline
  • Beiträge: 16
Re: Raspberry Pi + Retropie = spottbillige Emulationsmaschine
« Antwort #48 am: 03.12.2018, 20:03 »

ja es ist normal das nach make clean die rocksndiamond Datei gelöscht ist (das ist die bereits im Archiv enthaltene nutzlose). edit: make clean "räumt" quasi auf

der make sdl Fehler kommt weil dir ein "dev" Paket fehlt, deshalt das ... no such file or directory.

Du müsstest libsdl-net1.2-dev installieren (und ggf. andere libsdl-dev Pakete aber schau erstmal ob net reicht)

(sudo apt-get update && sudo apt-get install libsdl-net1.2-dev)
« Letzte Änderung: 03.12.2018, 20:05 von mive »
Gespeichert

onlyaroth

  • 42
  • Kuuuult
  • *****
  • Offline Offline
  • Beiträge: 998
  • Affe wählt onlyaroth
Re: Raspberry Pi + Retropie = spottbillige Emulationsmaschine
« Antwort #49 am: 04.12.2018, 14:31 »

Es hat funktioniert!!! Danke, danke, danke  :)

Das Problem war echt die Fehlermeldung bei make sdl!
Wenn die nicht gewesen wär, wäes echt ein Kinderspiel gewesen.

Das Spiel selbst funktioniert noch nicht so wie ich will. Menü zB.
Mir wärs lieber, wenn ich das Keyboard nicht bräuchte. Muss ich mich nich ein wenig damit befassen.
Edit: Hab das ganze nochmal mit der neuen Version probiert und da funktioniert nahezu alles komplett Keyboardlos!
Perfekt!


Kann ich das bei jedem Linux-Spiel versuchen?
« Letzte Änderung: 04.12.2018, 15:05 von onlyaroth »
Gespeichert
Mr. Onlyaroth kaniditiert für das Amt des US - Präsidenten 20XX, und hofft auch auf DEINE Stimme!



^^

mive

  • Kult
  • *
  • Offline Offline
  • Beiträge: 16
Re: Raspberry Pi + Retropie = spottbillige Emulationsmaschine
« Antwort #50 am: 04.12.2018, 17:28 »

Super! schön das geklappt hat

wegen den anderen Linux-Spielen:
Ich weiß jetzt nicht genau ob RetroPie einen X Server startet (und dann erst RetroPie) oder ob es über SDL läuft. Schätze eher letzteres (also das kein X Server läuft).
Das bedeutet für dich bzw. das starten in RetroPie:
Spiele welche einen X Server benötigen (also das Spiel Fenster mit dem X Server zeichnen) werden vmtl. nicht laufen, aber Spiele welche mit SDL laufen sollten eigentlich auch gehen. Allerdings kann das bauen der nötigen Dateien abweichen (allerdings haben die Projekte in der Regel eine README bzw. INSTALL Datei oder ähnliches indem das bauen beschrieben wird. Oft konfigurierst du z.b. deinen Build mit ./configure und danach reicht ein make [bauen] und make install [kopiert das Zeug z.b. in einen vorher mit ./configure --prefix /Pfad festgelegten Ordner bzw.
 ohne näher spezifizierten wird der Standard verwendet, i.d.r /usr oder /usr/local]).

Im Zweifel kannst du ja hier fragen dann kann man immer schaun obs funktionieren sollte oder nicht bzw. du probierst es einfach, das "schlimmste" was im Endeffekt passieren kann ist das das bauen fehl schlägt (wie zuvor)

edit:
RetroPie nutzt glaub ich den "normalen Raspbian-Unterbau", d.h. du solltest auch auf die Standard-Repositories zugreifen können welche vmtl bereits einige Spiele enthalten und du ggf. nichts selbst kompilieren sondern nur das zeug installieren musst
« Letzte Änderung: 04.12.2018, 17:31 von mive »
Gespeichert

onlyaroth

  • 42
  • Kuuuult
  • *****
  • Offline Offline
  • Beiträge: 998
  • Affe wählt onlyaroth
Re: Raspberry Pi + Retropie = spottbillige Emulationsmaschine
« Antwort #51 am: 06.12.2018, 19:26 »

Mive, welche Systeme emulierst Du eigentlich in Retropie?

Der Speicherplatz auf der SD ist ja (leider) auch nicht endlos.
Gespeichert
Mr. Onlyaroth kaniditiert für das Amt des US - Präsidenten 20XX, und hofft auch auf DEINE Stimme!



^^

mive

  • Kult
  • *
  • Offline Offline
  • Beiträge: 16
Re: Raspberry Pi + Retropie = spottbillige Emulationsmaschine
« Antwort #52 am: 07.12.2018, 11:25 »

Ich benutze aktuell gar kein RetroPie, sondern nur eine "obskure" Distro auf der ich Retroarch und eine paar "standalone" Emulatoren installiert habe. Aber im Endeffekt ist das eher weniger wichtig. Ist alles der gleiche Käse (generell unterscheiden sich die meisten Linux Distributionen nicht allzu stark)

Retroach nehm ich für
SNES (dort einen snes9x core, bevorzugt snes9x2002 wenn das Spiel damit ordentlich läuft)
Mega Drive (dafür meistens picodrive oder wenn möglich genesis)
PC-Engine/TG-16 (beetle-pce-fast und beetle-supergrafx)
teils Arcade (dort am liebsten fba, dann irgendeine mame Version)
dann hab ich noch Zeug für NES (nestopia glaub ich), Wonderswan und Neo Geo Pocket (beide beetle-irgendwas) drauf aber das benutze ich eigenlich nie, sowie prboom (Doom Engine). Zuletzt hab ich Playstation 1 Spiele probiert und viele (die mich interessieren) laufen doch überraschend ordentlich

"standalone" Emulator nehm ich für
Amiga (amiberry oder uae4arm-rpi)
Arcade (pifba oder mame2003)

Wegen dem Speicherplatz:
Falls du viel benötigst bzw. viele Images hast, könntest du ja zur Not auch eine Festplatte (oder großen USB Stick) an den Pi hängen. Die Playstation Spiele hab ich z.b. auch auf einer externen Festplatte. Die Emulatoren an sich brauchen ja nicht soviel platz.
z.B:
Auf der SD Karte hab ich die Roms von SNES, Mega Drive, MAME und 1 oder 2 Amiga HD Images (200 und/oder 500 mb). Aktuell hab ich noch ~2 GB frei auf einer 16 GB SD Karte.

Was evtl. zu beachten ist:
weiß jetzt nicht genau wie Debian das händelt, aber ggf. werden einige Pakete als Backup behalten wenn du ein Update machst und eine neuere Version installierst. Teilweise kann es sinnvoll sein diesen Cache zu leeren (aber wiegesagt ich weiß nicht ob das unter Debian bzw. Rasbian wirlich zu beachten ist).
Auch werden für "/" bei vielen Distribution (wenn das Dateisystem ext4 ist) gerne 5% der Speicherplatzes "reserviert" (d.h. du hast diese nicht zur Verfügung). Und 5% können je nach Größe der verwendeten SD Karte auch ein bisschen was ausmachen. Statt 5% reichen imo auch 2-3 (die "reserved blocks" werden dafür benötigt damit sichergestellt ist das z.b. daemons weiterhin funktionieren auch wenn kein Speicherplatz mehr zur Verfügung steht bzw. hilft wohl gegen Fragmentierung. Aber gerade bei großen Festplatten erscheint mir das unnötig viel Speicherplatz zu sein)
Gespeichert