RetroPie-Setup: An initialization script for RetroArch on the Raspberry Pi

If you want to install and setup RetroArch on the Raspberry Pi (TM) together with various emulator cores, all needed libraries for the SNESDev controller interface, and a graphical front end you can now go to https://github.com/petrockblog/RetroPie-Setup. There you will find an easy-to-use script that installs all essential packages for retro gaming on the Raspberry. I call it RetroPie script.

I prepared a Github repository with a shell script that automatically installs all needed packages. It has a console-based GUI and makes the installation of everything you need for retro gaming very easy. The script was tested on the Raspbian distribution. The following instructions can also be found directly on the Github site.

Download

To obtain the installation script you first need to install two packages with

Then you can download the latest RetroPie setup script with

Installation

The script is executed with

You are welcomed with the following screen

Here, you have the choice between two different ways of installation:

UPDATE: Github disabled the ability to upload project related files. Because of that the possibility to install pre-compiled binaries was removed from the RetroPie Setup script.
UPDATE 2: After migrating the blog to another provider the binaries-based installation is enabled again.

  1. Binaries-based installation: This way of installation will download per-compiled versions of RetroArch, various cores, Emulation Station, and SNESDev. In comparison to the second way of installation this is much faster. Even though the binaries will be updated from time to time, a disadvantage is that you probably will not have the most recent versions of the programs.
  2. Source-code based installation: This way of installation will download and compile the most recentsources of all programs and cores. Compiling everything takes some hours, but you will have the most up-to-date releases of the programs. When you choose this option in the menu a screen will appear that lets you select (with the space and arrow keys) the individual tasks to be done by the setup script:

    The default selection will install the complete set of packages.

Usage

With it’s default configuration the RetroPie setup configures the graphical front end EmulationStation such that a set of emulators can directly be used by the front end. You can start the front end with

Before that, however, you need to copy your ROM files into the according RetroPie/roms/ folders. Every emulator has its own subfolder here. Due to the early stage of the ALSA implementation on the Raspberry you can expect some creaking when using the analog output. I made quite good experiences with the HDMI output. For now, another solution for that seems to be the use of an external USB soundcard until the problems with the ALSA implementation are solved.

I really would like to see this script be further developed by you and me!! I think that Github is the right place for that.

Enjoy!

  • http://gravatar.com/lukeren lukeren

    I’ve got it working great for SNES (only thing I’ve used so far), but I’m having a bit of a problem with exiting a game.
    F4 works while at the menu (emulationstation), but the keyboard appears dead (caps lock/numlock doesn’t work) when a game is running.
    Am I missing a setting somewhere?

    • http://gravatar.com/lukeren lukeren

      This question may be put in the wrong place, I’ll post it on the raspberry forum instead ;)

    • http://petrockblog.wordpress.com Florian

      I observed that the Rasperry is very sensitive to the power source. If you have the possibility I would suggest to try another source with at least 1A (1000mA). Or another USB keyboard or an active USB hub.

      • http://gravatar.com/lukeren lukeren

        I’ll have to see if I can’t get my hands on one then, I’ve got an extra Apple charger, that should supply sufficient power, just need a cable that fits :)

    • machete234

      You can try running it not in the xserver but in another console like ctrl+alt+f1, log in and start emulation station.
      My keyboard then wasnt dead and I can exit a game with esc, f4 closes the whole emulator.
      Nothing is saved when I use esc, at least I think so.

      • http://gravatar.com/lukeren lukeren

        I wasn’t running it in X, never really saw the need :)

  • De_Cadanz

    Great! I’m making retro-emulation console too, but with standard USB gamepads. And put it to Russian famiclone called Dendy Revolver.
    1. When I try to launch emulationstation, it says “missed font”, until I place font to the /home/raspbian folder.
    2. I’m get a problem like a Lukeren says. My USB keyboard get off when I start game. But can I bind system hotkeys (exit game, etc) to the joypad buttons? How I can made it? I’m try to write input_exit_emulator = “6″ (or just 6), but it don’t work.
    3. EmulationStation curses to roms named with “(“, “[” and “&” characters, its normally?
    4. If you want to make EmulationStation more beatiful, I can help you with graphical elements. Send me e-mail if you want. Or maybe you try Typhon as frontend?

    • http://petrockblog.wordpress.com Florian

      Hi,
      thank you for your comment – your project sounds fun!

      Regarding EmulationStation I would suggest to get in contact with the developer Aloshi at his Github repository https://github.com/Aloshi/EmulationStation/issues! I am quite sure that any help, comments, or suggestions are appreciated!

  • De_Cadanz

    Thanks!
    And now my my problems with binding is solved: config string for gamepad buttons should be input_exit_emulator_btn = “6″ instead of input_exit_emulator = “6″ for keydoard.
    Welcome to my blog (russian language, but we have google translate=)
    http://mugic_drive.livejournal.com

    • Shawn

      Thanks for this, helped me a lot, except I used the guide button for exiting instead.

    • MIDItheKID

      Hey De_Candanz,

      Where are you putting this line? In the retroarch.cfg?

      Do you know if you can make it multi-button exit (press 6 + 7 + 8 to exit)?

  • http://www.facebook.com/gradisher Andrew Gradisher

    So I installed this… how would I start from command line, say, the SNES emulator by itself?

    • http://petrockblog.wordpress.com Florian

      You can run a SNES rom by calling “retroarch -L /home/pi/RetroPie/emulatorcores/pocketsnes-libretro/libretro.so /home/pi/RetroPie/roms/snes/nameofyourrom.smc”

      • http://www.facebook.com/gradisher Andrew Gradisher

        Thank you for answering my noob question! And a thousand thank yous for setting up this install script, it is awesome!

  • Pingback: Major Update for RetroPie Setup | petRockBlog

  • Shawn

    Florian, update the retroarch.cfg file with audio_out_rate = 44100
    Using that config the ALSA sound coming from the headphone jack is a lot clearer and has a lot less static.

    • http://petrockblog.wordpress.com Florian

      Thanks a lot for your suggestion!
      I will consider this in a following commit!

  • http://twitter.com/stephenhanley Stephen Hanley (@stephenhanley)

    Hi I’ve started to use this and love it.
    I was just wondering is there any way of starting Emulationstation on boot instead of going into the terminal and manually starting it. The reason being is I want to turn on my Pi with Joypad attached and not have to do anything through a keyboard or SSH.

    Great work though as you’ve simplified a huge process!

    • http://petrockblog.wordpress.com Florian

      Hi Stephen,

      thanks a lot!

      I have this boot option at the top of my to-do list and I will commit an update for the script soon.

      • http://twitter.com/stephenhanley Stephen Hanley (@stephenhanley)

        Brilliant :D Looking forward to it, in the meantime my son and I are enjoying some retro gaming thanks to your simplified installation :D

    • http://petrockblog.wordpress.com Florian

      I just committed an update for the script that will allow you to set things up for starting Emulation Station on boot.

      • http://twitter.com/stephenhanley Stephen Hanley (@stephenhanley)

        Excellent! Thank you for your hard work and dedication.

  • Pingback: SNESDev-RPi: A SNES-Adapter for the Raspberry Pi | petRockBlog

  • cardz

    hello, I am really greatful for this script, I have RetroArch up & running on my Pi, with snes ROMS tested & working.

    I’m struggling with joypad setup. I have a logitech USB PS3 controlelr which seems to work with the Pi. I have managed to configure navigating the emulators/ROM lists with the joypad but cant seem to get it to work with the SNES emulator. I have tried running retroarch-joyconfig however I always get “command not found”

    Is there another way to set up the gamepad for use withing the snes emulator>? Can anybody help?

    THanks.

    • MIDItheKID

      In terminal (before startx), browse to the folder where the retroarch-joyconfig is (default should be /home/pi/RetroPie/RetroArch-Rpi/tools) then use the command
      ./retroarch-joyconfig

      This will get the joyconfig running.

      I’m still stuck after this. Some of the buttons don’t register for some reason, and the ones that do, don’t write themself to the configuration. I took note of which button is which, and then tried to apply them manually to the retroarch.cfg, but I must be doing something wrong, because it’s not working.

      • Cardz

        Hey, thankyou for the reply. I was getting nowhere without the “./” at the beginning of retroarch-joyconfig! Linux n00b eh?

        I can help you with your problem, running the retroarch-joyconfig alone isnt enough, the output need to be written (appended) to the retroarch.cfg file so it remains after reboot.

        I think the exact command to use is “./retroarch-joyconfig >> ~/.retroarch.cfg”

        Then run the button config again!

  • http://www.facebook.com/eric.kitt.3 Eric Kitt

    I was reading in the Pi forum a thread concerning setting up the wireless USB Xbox 360 controller. I looked on Amazon for one of the USB connectors (as I have an old controller laying around) and noticed that there are two of them. A Microsoft (expensive) one for $21.99 and a cheaper Xbox 360 one for $12.45. Has anyone tried the cheaper one, do you know if it works or not the same as the Microsoft brand one?

  • http://gravatar.com/lukeren lukeren

    I wanted to update my installation, so I did a rm rf Retropie* … When I execute the setup script, all I get is, well, nothing :)

    This is what happens: https://dl.dropbox.com/u/3851166/retropie.png

    • http://petrockblog.wordpress.com Florian

      Hmm, I just checked this behavior myself with the root user. I run the script with ./retropie_setup.sh and everything works. Maybe you were still in an already removed directory? Usually removing RetroPie and RetroPie-Setup with “rm -rf RetroPie…” followed by a new git clone should give you a completely fresh installation.
      Could you maybe try to describe how this can be reproduced?

      • http://gravatar.com/lukeren lukeren

        I’ll do you one better ;)

        https://dl.dropbox.com/u/3851166/retropie2.png

        I’ve noticed however, that the script creates a folder in /home called root, and in that folder it creates a RetroPie folder. The folder is empty though.

      • http://gravatar.com/lukeren lukeren

        Found the problem, for some reason the ‘dialog’ command was missing, so the while true loop kept running not doing anything. All fixed now :)

      • http://petrockblog.wordpress.com Florian

        good to hear that!
        Maybe I should insert a check for that. I have inserted a check for that.

  • Corey

    Thanks so much for this–I installed the binaries very easily and set up the NES, SNES, and 2600 emulators. I do have one question: I’m trying to use a Logitech F510 Joypad with an xbox layout. When I try to run retroarch-joyconfig, it doesn’t detect the gamepad. It shows up if I run lsusb, but retroarch doesn’t seem to detect it. If anyone has any suggestions, I’d really appreciate your help.

    • bobby

      same issue here… im using a xbox 360 usb controller

  • tnt06

    Has anyone used this running raspbmc? I was wanting to play NES roms using xbmc with the advanced launcher plugin. I’m not sure what to launch though: Emulation Station/Retro Arcade/NES specific emulator?

    • Kevin

      we tried to get it running in raspbmc…
      In Rom Collection browser and in Advanced launcher .. but no proffit so far :(

    • http://gravatar.com/fchagnon Fred

      I got the RetroPie suite (including retroarch) compiled on raspbmc. In trying to compile retroarch manually I noticed it was looking for several header files which on the wheezy platform exist in /opt/vc/include. These files are put there when the firmware is updated via raspi-config.

      The reason raspi-config won’t run is because the ca-certificates package is missing from raspbmc. So,

      # sudo apt-get install ca-certificates

      Once this dependancy was installed I was able to get through the full source build of RetroPie — including, most importantly, the firmware update which installs the missing headers.

      • http://petrockblog.wordpress.com Florian

        Thanks for that hint!
        I will add this to the RetroPie Setup Script. Just to be sure: Did you use the raspi-config or the rpi-update script to update the firmware?

      • http://gravatar.com/fchagnon fchagnon

        I just chceked my command history, and indeed it was rpi-update. Sorry — I mixed the two up.

        Upon installing the ca-certificates package, I did a git clone of git://github.com/Hexxeh/rpi-update.git. I ran rpi-update manully to confirm that it installs the header files in /opt/vc/include.

        Once those files were in place, running the full source build in retropie-setup.sh worked with no errors (which included re-running rpi-update …. for good measure! )

      • http://twitter.com/iamforcer Michael Forcer

        I’m trying to install retropie on raspbmc but not being very successful.. it’s breaking raspbmc.. shortly after the installation of retropie starts it asks me if i want to replace or leave udev, udev.conf and a couple of other udev files… i also tried the steps ca-certificates and rpi-update to add header files btu when i check in opt/vc there is no include folder? how would i fix this?

  • Gubernatio

    HI there, Sorry if this is a really stupid question, but I have gone through the installation script and used the binaries based install. All seemed ok.
    I then put some game roms into a few of the system folders, (snes, gbc, gba and atari 2600).
    I then turn on my pi, log in, and then type emulationstation.
    It then returns with :
    ~/RetroPie/EmulationStation ~
    ~mulationStation cleanly shutting down…te it.ion / es_system.cfg was found but contained no systems

    Being a complete linux novice on a steep learning curve, I haven’t a clue what this is referring to. 8/
    Thanks in advance :D

    • http://petrockblog.wordpress.com Florian

      Hi Gubernatio,
      I just checked this and I found a bug in the script – thank you for pointing me to that one!
      I commited a fix for that that should solve this problem. For you the easiest thing would be to delete the RetroPie-Setup folder and to download and start the setup script again (as described at https://github.com/petrockblog/RetroPie-Setup). You can then run the binaries-based installation again and things should work!
      Please tell me if this solved your problem.

      • Gubernatio

        Thanks for the quick reply!
        I think that helped as I now get into the menu system! yay
        However I don’t seem to be able to start any games. Only F4 on keyboard or Start button on the gamepad seem to do anything, and that’s to open a Restart/Shutdown menu. Am I supposed to do anything to the emulators like add bios files?

      • http://petrockblog.wordpress.com Florian

        Make sure that the extensions of your rom file are written in lower-case letters (except for Doom, there it is “.WAD”).

        Instead of starting the ROMs with EmulationStation, you could also try to start them directly from the console.

        cat ~/.emulationstation/es_systems.cfg

        shows you the commands that EmulationStation is using to start the ROMs. You have to replace %ROM% with the path to your desired rom file.

        I hope this helps?!

  • Colin

    Running into a problem with starting emulationstation and retroarch — both are giving me bash “No such file or directory” errors. The binaries appear to be where they should be, and they both are marked as executable. Also, ldd is telling me that all the .so files are being found… Any thoughts?

    • http://petrockblog.wordpress.com Florian

      Hmm, I tested the current release again and everything is working here. I tested it on a fresh Raspbian installation by following the exact steps that are described above.. Everything must be run from the shell only, without X running in the background.

  • Simon

    Somehow the Source-code based installation doesn’t work for me, i tried it last week and afterwards i couldn’t get the Raspberry to boot, i was stuck with a single red LED.
    After that i tried the faster binaries-installation, which worked withouth problems.
    Now i wanted to give the Source-code based installation a new chance as i wanted to have the newest, best running emulators, and again i’m stuck with the red LED.

    Running on a fresh Raspbian, during the installation i got errormessages that no space was available, and it couldn’t write.

    • http://petrockblog.wordpress.com Florian

      It seems as if you might not have your resized your partition to its full size.
      You can check this with the command “df -h”. /dev/root shows you the free space of your “main” partition. What size does your SD card have? You can do a resize of your partition with the shell command “sudo raspi-config” and then choosing “expand_rootfs”. You need to reboot your Raspberry with “sudo reboot” afterwards.
      Does this solve your problem?

      I have updated the free space check in the script. It now checks for 500MB of free space (it was 300MB before).

      • Simon

        Thanks for the fast reply,
        resizing the partition did the job, i had 332MB free space
        Now i just need to tackle a few more problems and i’m ready to play secret of mana again =)
        I have the sound barely working and my dualshock2 controller via usb-adapter isn’t always working as it should be.
        Is there an FAQ somewhere to be found? It is a little bit frustrating to keep digging through 4 threads on the Rpi forums that are related to Retroarch and comments on your blog for every little problem someone has perfectly answered before.
        Also i would like to have a list of all the keybindings of the keyboard to the emulationstation and the emulatorcores.

        I’m sorry if I just came up with more problems and questions but I would really love to be able to use Retroarch in all its Glory =)

      • http://petrockblog.wordpress.com Florian

        Good to hear that you are making progress!
        Hmm, Besides the official forum, I do not know any FAQ for running RetroArch etc. on the Pi. I have prepared a wiki on the RetroPie setup site at https://github.com/petrockblog/RetroPie-Setup/wiki. Right now, there is no content. But that wiki could serve as a source of all kinds of collected information around the components that are installed with the RetroPie setup script.

        WRT to Emulation Station: You can use the arrow keys for navigation, the F1 key for reboot and shutdown, and the F4 key for exiting Emulation Station.

        All settings for retroarch can be found in /etc/retroarch.cfg (if you use only the original RetroPie script) or, alternatively, in your home directory at ~/.retroarch.cfg.

        Sound is an ubiquitous problem with the RPi and is tackled by the community these weeks and months (at least that’s my impression).

  • Pingback: Превращаем Raspberry Pi в игровую ретро консоль | wp2005 Превращаем Raspberry Pi в игровую ретро консоль |

  • Brian

    Hi,

    I went ahead and followed your steps to getting EmulationStation/RetroArch installed on my system today. I followed the Binaries method, as I doubt building from source would be worth it for me. I received the es_systems.cfg error that was described earlier. Is it possible a change was made to the script since? Or should I be looking for something wrong on my end?

    Thanks,
    -Brian

    • http://petrockblog.wordpress.com Florian

      Hi Brian,

      I will check this later today! Update: I ran the script on a fresh Raspbian installation and everything worked out of the box.

      Until then you can first of all try to start a ROM from the command line (https://github.com/petrockblog/RetroPie-Setup/wiki/How-would-I-start-from-command-line,-say,-the-SNES-emulator-by-itself%3F)
      If this works, it is “just” a problem with the es_systems.cfg. Take care for lower- and uppercase extensions:
      Atari 2600: .bin
      Doom: .WAD
      Game Boy Advance: .gba
      Game Boy Color: .gbc
      MAME: .zip
      Megadrive: smd
      NES: .nes
      SNES: .smc

      • Brian

        Thanks for getting back to me so quick! I will try to run it from command line first, if that doesn’t work, I looked at the script so I will just write the es_systems.cfg myself.
        Thanks,
        -Brian

      • http://petrockblog.wordpress.com Florian

        I have found a bug in the binaries-based installation that affects the access rights to the EmulationStation configurations. The repository was just updated and the fixed script might also solve your problem!?

  • Pingback: A Wiki for the RetroPie setup script script and a debug log | petRockBlog

  • Brian

    Hi Florian,
    I followed some steps you posted in another forum and removed the install completely, re cloned the git and re-ran the install script. It worked like a charm!
    Thanks Again,
    -Brian

  • Pingback: Gamecon driver module for NES, SNES, and N64 controllers Added to RetroPie Setup Script | petRockBlog

  • Biernot

    Hi there, I installed RetroPie and put some roms in the /roms/snes/ folder. When I start emulationstation, I can see a list of my roms and can select one of them with the UP and DOWN keys (keyboard). But I cant start a rom. I have tried any other key on my keyboard but nothing happened.

    I also dont have a es_input.cfg in my home/pi/.emulationstation/ folder.

    Please help

    • http://petrockblog.wordpress.com Florian

      Please use the “Generate debug log” function in the setup menu. This will generate the file /home/pi/RetroPie/debug.log. Could you send me the content of debug.log via the Contact form of this blog, please?
      Also, have you used the binaries- or source-based installation?
      Do you see an error message on the console, when you try to start a rom and press “F4″ right afterwards (F4 exits Emulation Station)?
      Cam you start a rom from the command line by following the manual in the wiki at https://github.com/petrockblog/RetroPie-Setup/wiki/How-would-I-start-from-command-line,-say,-the-SNES-emulator-by-itself%3F?
      Please, send me the debug.log!

  • http://gigable.wordpress.com Bosstiger

    Reblogged this on Gigable – Tech Blog.

  • fidelgvelasquez

    I am currently using the standard Raspbian distribution (2012-08-16), and I installed from source (it didn’t take as long as I had expected), but when I tried to start it for the first time (with no ROMs in the folders), all that happened was a white dot showed up in the middle of the screen. I tried again later, after adding ROMs, but it still didn’t work. I am using a 5V 2A power adapter, an Apple Aluminum Keyboard, a 16GB micro SD (not sure what class, probably 4) with an adapter, and I have my Raspberry Pi overclocked to 900 MHz with 500 MHz SD RAM frequency. I have tested on both HDMI (at 1920×1080) and composite (RCA) video (not sure what resolution, but it was 4:3), and with and without ethernet plugged in. Any suggestions?

  • M

    What are the default key bindings for mame games? I can get it run, but can never insert a coin or start the game. Im using a keyboard. Or at least wheres the config file to change the key bindings?

    Hopefully performance will increase over time, even NES games are basically unplayable. :(

  • http://gravatar.com/pfooti pfooti

    I just today downloaded and ran the installer (install from binaries) from the Git repo. I think it mostly worked, but I was unable to really test things, as emulationstation wasn’t installed at all. There was no EmulationStation directory created, so the /usr/bin/emulationstation command didn’t do anything useful. Creating the appropriate directories and re-running install-from-binary didn’t work either (I had hoped it was a minor script error).

    I don’t know if this is a one-off error (I’m not installing it on raspbian, but instead on a raspbmc installation, which is mostly raspbian), or a change to the underlying system.

    I tried installing emulationstation manually, but the basic git installation of that failed early in the make process (looking for an open GL library, if I read the error correctly). I am working on doing an install-from-source of retropie right now, I’ll see if that works.

    • http://petrockblog.wordpress.com Florian

      The script is only tested on Raspbian. Thus, I would assume that the binaries-based installation will fail due to different shared libraries. The source-based installation might work, if all missing packages could be installed. For compiling Emulation Station you could specifically follow the steps at https://github.com/Aloshi/EmulationStation.
      For now I concentrate on Raspbian – but you could help a lot of people by posting your solution for RaspBMC-specific problems here!

  • http://gravatar.com/wastemanager MrCraigL

    Like Colin above I’m getting the error: “/usr/bin/emulationstation: line 9: ./emulationstation: No such file or directory”

    I’m not particularly good with Linux but as far as I can see everything has gone through as instructed (tried both methods of installation) – any suggestions?

    • http://petrockblog.wordpress.com Florian

      Are you also using RaspBMC?

    • http://gravatar.com/wastemanager MrCraigL

      Right, no roms in there at the moment. Will try this evening and report back.

  • http://www.facebook.com/haskell.mcravin Haskell McRavin

    My debug is exactly like MrCraigL’s. I can run a snes game, but the game freezes after around a minute and my emulationstation will not execute. It never creates an es_config file for me.

    • http://petrockblog.wordpress.com Florian

      If you can run a game and it freezes it is probably an hardware issue – you might try to use another overclocking option (if you are overcklocking at all).
      Also, the RetroPie script is only tested on Raspbian.
      You need to be more a bit more specific about your distribution, what you already have done before, what works, what not works … Maybe the problems also come from changes by some recent official firmware updates.

      • http://www.facebook.com/haskell.mcravin Haskell McRavin

        I’m using the CNX image of raspbian. I’ve disabled the overclock and zram to test and this wasn’t the issue. Disabled sdl and that wasn’t the issue. I was able to run all the cores on a previous build, though I was never able to get emulationstation working. I have a backup image with working cores, I guess I can update that image and see if it breaks it, but I’m out of ideas.

      • Florian

        You could prepare a fresh, working installation with the official Raspbian distribution (non-CNX version) and the RetroPie setup. You could then find all dependencies for emulationstation via ldd etc. and see if your CNX installation contains all these dependencies (if you want to stick to the CNX version). Just an idea …

      • http://gravatar.com/wastemanager MrCraigL

        I put a rom into the SNES folder, same problem. Trying to launch the SNES emulator with the command I got “-bash: /usr/local/bin/retroarch: No such file or directory”

      • Florian

        Hmm, according to your debug.log, retroarch exists at “/usr/local/bin/retroarch”.
        Your command looked like this

        retroarch -L /home/pi/RetroPie/emulatorcores/pocketsnes-libretro/libretro.so “PutNameOfRomHere”

        ?

      • http://gravatar.com/wastemanager MrCraigL

        Here’s what I’ve tried:

        pi@raspberrypi:~/RetroPie/roms/snes$ retroarch -L /home/pi/RetroPie/emulatorcores/pocketsnes-libretro/libretro.so /home/pi/RetroPie/roms/snes/MM2.smc
        -bash: /usr/local/bin/retroarch: No such file or directory

        pi@raspberrypi:~/RetroPie/roms/snes$ retroarch -L /home/pi/RetroPie/emulatorcores/pocketsnes-libretro/libretro.so “/home/pi/RetroPie/roms/snes/MM2.smc”
        -bash: /usr/local/bin/retroarch: No such file or directory

        pi@raspberrypi:~/RetroPie/roms/snes$ retroarch -L /home/pi/RetroPie/emulatorcores/pocketsnes-libretro/libretro.so “MM2.smc”
        -bash: /usr/local/bin/retroarch: No such file or directory

        And here’s the relevant file:
        pi@raspberrypi:~/RetroPie/roms/snes$ ls
        MM2.smc theme.xml

      • Florian

        Hmm, I would try to re-install the RetroArch emulator: Start the RetroPie script, choose “source-based (custom) installation”, and then de-select everything except “Install RetroArch”. Hitting ENTER starts the download, compilation, and installation of the RetroArch emulator. The script explicitly checks, if /usr/local/bin/retroarch can be found after the installation and gives a warning if it cannot find it. Does this work?

  • http://www.facebook.com/chris.leathco Chris Leathco

    I am having a very hard time getting my controller to work with the emulators. It works fine with the frontend, just not with the emulator. I have tried running ./retroarch-joyconfig >> ~/.retroarch.cfg which starts up the joyconfig and creates a new retroarch.cfg in the tools folder. I took the values of what was in that file and added them to the cfg file in the RetroArch-Rpi folder, but still do not have functioning controls in-game other than keyboard.

  • http://www.facebook.com/haskell.mcravin Haskell McRavin

    Works great so far on the official Raspbian. Tested snes and emulationstation front end and both work for me now.

    • http://www.facebook.com/haskell.mcravin Haskell McRavin

      Well it worked once… now I get the black screen again when I try to start emulationstation.

  • Pingback: The RetroPie Project: An Interim Report | petRockBlog

  • http://gravatar.com/wisconsintropic wisconsintropic

    So I got this up and running and it works great in NES and SNES and with my $15 radioshack controller. however I am having some trouble with MAME. the only game that seems to work so far is Black Tiger, which is awesome, but I can’t seem to get pacman, galaca or anything else to work.

  • Pingback: SNESPi: Super Nintendo Pi

  • http://www.somethingprofessional.com David

    Every time I try to run anything, it doesn’t work. If I run the program directly, it loads, but when I select a ROM, emulationstation minimizes, nothing happens, then it pops back up.

    if I start it from the terminal, the same thing happens, but in the terminal it says “sh: 1: retroarch: not found” … launch terminated!

    the cfg file points to files in the emulatorcores folder, and the files it’s pointing to are there. idk what to do

    • http://petrockblog.wordpress.com Florian

      There were quite some changes in the sources and organization of files and folders recently and that introduced at least one bug. I have just committed an update for the script and it should work now! You can either run the binaries- or source-based installation.
      Does it work for you now?

      • http://www.facebook.com/SuperKingDavid David King

        I’m at work right now, but when I get home I’ll remove everything and try a clean install. Thanks for the update to the script and I hope it works. I’ll let you know this afternoon.

  • http://www.somethingprofessional.com David

    ok, so I did a clean reinstall. It works… kind of. I’ve tried starting the program 3 different ways, and have had no success.

    first, I tried just double clicking the .exe file and starting emulationstation that way. The program loads up, and I can load roms, but, as expected, I lose keyboard control and can’t do anything. The game started up, but I couldn’t interact with it

    I tried launching from the terminal, but it just said it cant start while x running.

    so I tried launching it from the command line, it said it launched, but that no systems were present and nothing happened. It then asked if i had any games in the rom folder. obviously i do since i could open them from the gui. ughh!! I feel like I’m so close!

    • http://petrockblog.wordpress.com Florian

      the whole script is tested and intended to be used with a Raspbian installation from command line without having X (and, thus, LXDE) running in the background. Your third approach seems to be he most promising one.

      By looking at ~/.emulationstation/es_systems.cfg you can see where Emulation Station tries to find your rom. Depending on your settings and the username during the installation these configurations might have to be adapted.

      • http://www.facebook.com/SuperKingDavid David King

        would that change depending on how I run the program? It can load the roms with x running in the background, but when I run it from the command line, it can’t find them I guess. idk, I’ll take another look tonight.

        this is so weird, though, in general. I was a computer science major in college and I have a tech job, but this is really my first time with linux, and I’m surprised at how different things are. It’s taking me a little while to wrap my head around.

      • http://petrockblog.wordpress.com Florian

        The “~” refers to the home directory of the current user, so, in principal, yes – it can change.
        There are reports about several issues when X is running in the background and emulators in the foreground, so I recommend not to have X running.
        You can change to another console on-the-fly by by pressing Ctrl-Alt-F1 (and return to X by pressing Ctrl-Alt-F7). In that console you could run another installation with the RetroPie script and see if that works. With this way you would be sure that X/LXDE is not running in the background.

      • http://www.facebook.com/SuperKingDavid David King

        hm, ok, that makes sense. I’ll try that Thank you for all of your help, I really appreciate it. I’m sure this is all obvious stuff I’m asking, so thanks for helping.

  • http://petrockblog.wordpress.com Florian

    Glad to help!
    People at http://www.raspberrypi.org/phpBB3/viewtopic.php?f=78&t=13600 are also always trying to help (and might have better answers than me) :-)

  • Pingback: Video of RetroPie GPIO Adapter | petRockBlog

  • http://gravatar.com/shr00msh00ter shr00msh00ter

    dude, this is awesome! i got it working on my Pi now. So I put a SNES marioKart ROM inside the SNES roms folder, started the rom, but its barely playable… i OC’d the Pi to 1000MHz (Turbo Mode) in the raspi-config. But it still doesn’t run better. memory split is on 50:50.

    Could it be that I start the Pi directly into the GUi, and then switch to the F1 shell to start emulationstation? shoulud I rather start the Pi in console first without GUI and stuff?

    or is there any frameskip setting i can try in config of the snes emulator?

    but thanks for you work so far! VERY useful project!

    • http://petrockblog.wordpress.com Florian

      I would try to NOT start X or to completely close X before running the emulators. This definetely will free resources. Mario Kart should well be playable with a clock of 900 MHz.

      Glad that you like the script!

      • http://gravatar.com/shr00msh00ter shr00msh00ter

        Thanks for the quick answer Florian! I tried to directly boot into emulationstation (enabled through the setup item), but it stopped recognizing my inputs for the front end. but it also didn’t ask me to configure the input again… I assume that I need to move or delete/recreate the config file for the frontend input..?

        another question, is there any other config file than the /etc/retroarch.cfg where i can tweak settings of the emulators? Or does every emulator have a seperate config file?

        thanks for the help and keep your good work up!

      • http://petrockblog.wordpress.com Florian

        Enabling Emulation Station to start on boot does not disable X/LXDE to start on boot. Thus, you also need to disable this with the raspi-config script: Use a terminal and start the tool with
        sudo raspi-config. From there you can disable X/LXDE to start on boot.

      • http://gravatar.com/shr00msh00ter shr00msh00ter

        Of course! I didn’t think about that. I’ll try that! That will most likely solve my problem. thanks!

  • ghostwheel

    I’m also trying to get it to work on raspbmc. The main reason is that I couldn’t get xbmc to produce music on raspian… has anyone managed to do that? I’m just trying to have a retro game machine + jukebox + picture frame working.

    Anyway, the problems I have are the following:
    1. I can’t get any sound. imame4all runs, I can play games, but there is no sound. I noticed that pulse was uninstalled when RetroPie was installed- when there is no pulse, what is the other way imame4all plays sounds? Is there a way to debug what’s going on?
    2. When I first started emulatorstation, it detected that I have a joystick connected, and es_input.cfg contains hat looks like correct data, but the joystick does not work in imame4all.
    3. The image in imame4all looked pretty bad. I managed to get it to look better by setting
    video_smooth = false
    and
    video_aspect_ratio = 0.75
    but it woud have been better if the aspect ratio was just automatically set correctly (without that line, the image has a ratio of 1:1, I think)

  • ghostwheel

    OK, I switched to raspbian + xbmc. Now sound works, almost all seems nice! Really great!!! Thank you!!
    One thing that is not perfect is the aspect ratio. As I mentioned above, I have to manually set the aspect ratio to 0.75 for mame to look nice. But then gba is too narrow.

  • martapp

    Great work on the script – I set it running and made an source based install of everything.
    At the end emulation station will launch, but the fullscreen view looks zoomed in and I can only access Duke Nukem and PRBoom using the arrow keys – none of the other emulators show up. Do they only appear if there are ROMs on the system, or should I expect a full list? Would I be better off restarting with a binary install first?

    • http://petrockblog.wordpress.com Florian

      Great to hear!
      The systems only appear when there is at least a single rom.

      • martapp

        Thanks Florian; now I’ve put some other roms on there, it’s showing the extra systems fine.
        I’ll start out configuring controllers next – I have some different USB ones lying around.

  • Troka

    I’ve just tried to run the script with build from sources option but it said it wasn’t able to build gba core.
    After reviewing debug.log it seems some (important?) files are missing too:
    http://pastebin.com/iTge42dg

    Not sure why because I haven’t watched the compile running.

    • http://petrockblog.wordpress.com Florian

      Thanks for pointing me to this!
      There was a bug in the eduke installation routine that I have just fixed.

      • Troka

        Thanks for your quick bugfix!
        The compile worked now.

        Are those files important?
        /home/pi/RetroPie/../.emulationstation/es_input.cfg does NOT exist.
        /home/pi/RetroPie/supplementary/EmulationStation/LinLibertine_R.ttf does NOT exist.
        /home/pi/RetroPie/emulatorcores/fceu-next/libretro.so does NOT exist.
        /home/pi/RetroPie/emulatorcores/uae4all/uae4all does NOT exist.

        Because I still have some trouble getting emulationstation to work (currently not showing any emulator although I added some snes roms)

      • http://petrockblog.wordpress.com Florian

        No, these files are not important and some of these are actually not needed anymore. Thanks for this indirect hint – I have updated the RetroPie script just now.

        You can have a look at https://github.com/petrockblog/RetroPie-Setup/blob/master/retropie_setup.sh#L936 to see which folders and file extensions are used by Emulation Station to find and show the roms.

  • Cheesecake

    Hi,

    First of, A big thanks for putting this togheter. I now have everything up and running with Emulationstation, cover art, nes, snes… Wireless xbox 360 connected and configured.. The whole nine yards :-)

    But, sadly only my nes roms works at full speed. When trying to run snes the sound is messy and everything is very slow. How much do I have to overclock to get full speed on snes roms? how much overclocking is safe?

    I really like the Retroarch and Emulationstation combo, I now just have to turn the power on and everything autostarts flawlessly, I have even setup the xbox 360 controller to auto-connect at startup. But I would really like to play something else than just nes at full speed. Would be very grateful for any tips on how to get the snes to work at full/ok speed. Beside nes what else emulators works at full speed (or close to full speed)?

    Thanks again for putting this script togheter! :-)

    • http://petrockblog.wordpress.com Florian

      Thanks a lot!
      Do you have enable_rewind set to true? If yes, you will get a speed gain by setting it to false.

      I have updated the handling of retroarch.cfg in the recent update for the RetroPie script. It introduces a global and system specific config files.

      I have PC Engine, Atari, Doom, Megadrive/Genesis, NES, Gameboy Color, and SNES running at full speed (with 950 MHz CPU clock).

  • Thomas Mueller

    i’ve installed retropie from binaries, copied some roms to the roms folder and rebooted the pi. when i start emulationstation i see something i don’t understand:

    the word “doom” above, the word “prbroom” with red background and the image of a man (maybe a character from a game i don’t know) at the left side.

    how cani start the snes, nes or gameboy-emu?

    • http://gravatar.com/pfooti pfooti

      What I’ve noticed is that this is a default game that’s provided for testing of emulationstation, and is a Doom WAD file.

      In emulationstation, the left-right arrows switch between systems. When I launch ES, I get the Doom one, and hitting left-arrow takes me to NES. Well, it used to; then I deleted prbroom.wad from the roms/doom directory.

      It’s also worth noting that I was totally unable to get emulationstation to notice my files until I realized that they needed to be unzipped (all my roms were in .gz format, but I unzipped them and made sure that they had .nes, .smc, and .a26 extensions), I edited the file in ~/.emulationstation and added .a26 as a recognized atari2600 format, and then ran the retropie config script, had the script organize things into alphabetical subdirectories.

      I’m not certain if emulationstation has trouble noticing roms or what, but it was definitely a hit-or-miss kind of thing to finally get it to see that I had a bunch of nes roms in the appropriate folders.

      Once all that happened, left-right arrows would switch between systems, then you see A B C … for subdirectories, up-down to select a letter, enter expands, then select a rom and it launches. Play and have fun, until you have to figure out your sound settings.

  • Thomas Mueller

    “and then ran the retropie config script”

    that means after i copied the roms in the directory i have to run the script again?

    i have no controller at the moment because i want to make sure that the emu is running on my pi. can i test it with the keyboard connected to the usb port? do i have to change something to use the keyboard?

    • http://petrockblog.wordpress.com Florian

      No, you do not have to run the script again, but just to restart Emulation Station.

      You can use a keyboard by simply plugging it into the USB port. Nothing more.

  • http://d4m4s74.wordpress.com d4m4s74

    Hi. I’ve been noticing a problem. in retroarch, the player 1 controller (SNES via the gamecon controller) works fine, but the player 2 controller (also snes via gamecon) only works when a button on the player 1 controller is pressed. I’ve switched the controllers in the retroarch config, and the problem keeps persisting, but with the other controller. It can’t be the soldering. it works perfectly in jstest. and I use the default config. Have you got any idea?

    • http://petrockblog.wordpress.com Florian

      I just checked this my own. It seems as if there are some roms that have this problem. Super Mario Kart and NBA Jam are working though. So it seems to be a problem of the emulator. Maybe someone has an answer in the RetroArch thread in the Raspberry Pi forum.

      • http://d4m4s74.wordpress.com d4m4s74

        I found the problem with donkey Kong Country (1) for SNES

  • Stu

    Hi. I got to the step to clone the repo, but it keeps giving me fatal: remote error: repository not found. Please help. Thanks

    • http://petrockblog.wordpress.com Florian

      I just tried to clone the repository onto the RPi via “git clone –depth=0 git://github.com/petrockblog/RetroPie-Setup” and it worked without problems. Did you maybe have a typo on your command?

      • Stu

        Yep. Didn’t realize it was case-sensitive. Now I’m having a new problem. When I run emulationstation, it tells me that it creates a new config file root/.emulationstation/es_systems.cfg. Yet, when I navigate to that directory, no such file exists.

      • http://petrockblog.wordpress.com Florian

        To start with I would login as user “pi” and follow the installation instructions from https://github.com/petrockblog/RetroPie-Setup via copy-paste.
        Emulation Station should locate the configuration files in the folder /home/pi/.emulationstation/.

  • Pingback: Tutorial: Power retro gaming with a Raspberry Pi | GabsGroup

  • Pingback: Tutorial: Power retro gaming with a Raspberry Pi - FourTech Plus

  • Pingback: Tutorial: Power retro gaming with a Raspberry Pi | allcom.se