Setting up my Raspberry Pi 2 for Retro Gaming

Earlier in the year I purchased a Raspberry Pi 2 and have been playing around with different distro’s. One interesting distro that I came across was RetroPie. While RetroPie currently has a newer version of their distro in Beta form (Beta 4 at the time of posting), I’m posting these directions as reference instructions to myself and others.

Below you’ll find setup/config instructions specific to RetroPie v2.6 and the parts I’ve listed in my setup. Content below may also be relevant for newer version of RetroPie, however, your mileage may vary and some of the steps may not be necessary in version 3+.

Specs on My Pie

Parts List

 

Guide

Install Operating System

There are a number of Operating Systems you can install and run on your Raspberry Pi, but I won’t cover them all here. Instead I’ll be focusing on installing and configuring RetroPie, which is an Operating System based on Debian Linux with a heavy focus on video game emulation. This guide is also targeted towards Windows users. If you’ll be using Mac or Linux there are other guides that you can follow to install the Operating System on your card.

  1. Insert your Micro SD card into the SD Card Adapter and click it into your computer’s SD card slot (if you don’t have an SD card slot, there are alternatives).
  2. Download and install Win32 Disk Imager.
  3. Download the latest version of RetroPie (be sure to select the link for Raspberry Pi 1 or Pi 2 according to your specific board).
  4. Open Win32 Disk Imager as Administrator (opening from the start menu should prompt you and ask you if you’d like to open it as Administrator).
  5. Select the RetroPie “Image File” that you just downloaded (keep in mind you may need to unarchive the image).
  6. Select the Device letter from the drop down your SD card is registered under (double check this in My Computer to make sure you have the correct device selected).
  7. Click “Write”.

When the writing process completes, your card is ready to be installed into the Raspberry Pi!

Expand Filesystem

After installing your new RetroPie image, you’ll need to expand the filesystem. This essentially means that the entire card becomes usable, where currently you’re only able to use a small portion of the storage on the card.

  1. When your Raspberry Pi starts up, it will automatically open Emulation Station. Press F4 to exit Emulation Station.
  2. You should now see a command line screen.
  3. Enter the following command to launch the Raspberry Pi configuration screen:
    sudo raspi-config
  4. Select “Expand Filesystem” and press enter to approve the expansion.
  5. You may also wish to configure your Internationalization Options such as your locale, timezone or keyboard configuration.
  6. Select “Finish” and reboot.

Enable WiFi

Enabling WiFi is pretty simple, but you’ll need to know two things: name of the WiFi access point and password.

  1. To get the name of the WiFi access point, just take a look at the name of the WiFi you’re trying to connect to over your phone, Windows, Mac, Linux, etc. That is the name you want. I’ll assume you already know the password or have access to someone who does.
  2. Open the WPA Supplicant file, where we’ll store your WiFi credentials:
    sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
  3. Using the example below as a guide, add this information to the bottom of the wpa_supplicant.conf file and fill in the WiFi name and password with your network information:
    network={
        ssid="WiFi Network Name Here"
        psk="password"
    }
    
  4. Now save the file:
    1. Press: Ctrl+X
    2. Press: Y
    3. Press: Enter
  5. Your wireless adapter may or may not immediate detect the change. Do a reboot so you’re sure the settings were applied.
    sudo reboot
  6. After rebooting, jump back out to the command line by pressing F4. To test your WiFi connection, run the following Debian update command. If you see errors updating then your Internet settings were incorrect and you should go back to step 2 and correct any issues you find. Otherwise your Raspberry Pi now has Internet access!

Update the Firmware and Operating System

Now that you have Internet access configured (either through WiFi or Wired) its time to install system updates. There are a number of things that can be updated here to improve stability and performance.

If you haven’t already, exit Emulation Station by pressing F4 so you see the command line.

Debian Updates

In the command line, enter the following commands one at a time to update your Operating System:

  1. sudo apt-get update
  2. sudo apt-get upgrade
  3. sudo apt-get autoremove
  4. sudo apt-get clean
  5. sudo reboot

Raspberry Pi Firmware Updates

In the command line, enter the following commands one at a time to update your Raspberry Pi’s firmware:

  1. sudo rpi-update
  2. sudo reboot

Update Raspberry Pi Configuration Script

From command line, update the Raspberry Pi configuration script so you’re working with the latest tools:

  1. sudo raspi-config
  2. Select “Advanced Options” and press enter.
  3. In the list of Advanced Options, find “Update” and press enter.
  4. Select “Finish”

Update RetroPie Setup Script

From the command line, update the RetroPie setup script so you’re working with the latest list of emulators and settings:

  1. cd /home/pi/RetroPie-Setup
  2. sudo ./retropie_setup.sh
  3. Select “UPDATE RetroPie Setup Script” and press enter.
  4. When the update is complete, press enter on the OK screen to return to the main list.
  5. Now select “Cancel” to exit the RetroPie Setup Script.

Disable RetroPie Splash Screen

One small change that I think makes the RetroPie experience a little nicer is getting rid of the RetroPie splash screen. Visually its cleaner to see the system boot and then Emulation Station loading… loading… loaded (and skip the tacky RetroPie splashes that are available).

To disable the splash screen exit Emulation Station by pressing F4 and start the RetroPie setup script:

  1. cd /home/pi/RetroPie-Setup
  2. sudo ./retropie_setup.sh
  3. Select “SETUP (only if you already have run one of the installations above)” and press enter.
  4. From the list of Setup options, find “Configure Splashscreen” and press enter.
  5. From the Splashscreen configuration list, select “Disable custom splashscreen on boot” and press enter.
  6. Press enter to select OK on the confirmation screen.
  7. Now exit the Setup options by selecting “Cancel” and press enter.
  8. Now you should be in the main menu, find “Perform REBOOT” and press enter.

You should no longer see the RetroPie splash screen on startup.

Useful Controller Configuration Tips

Setup initial controller mappings using the following commands:

sudo cp /opt/retropie/configs/all/retroarch.cfg /opt/retropie/configs/all/retroarch.cfg.bak

cd /opt/retropie/emulators/retroarch/tools

./retroarch-joyconfig -o ~/retroarch-p1.cfg -p 1 -j 0

sudo cat retroarch-p*.cfg >> /opt/retropie/retropie/configs/all/retroarch.cfg

Exiting Emulators with Joystick PS3 Button

Mupen64Plus Config

Find the Mupen64Plus config file and search for the line containing “Joy Mapping Stop”. It’s likely not set to anything yet. Simply change the value to “J0B16” as seen below to allow the emulator to exit when the PS3 button is pressed.

Config file: /opt/retropie/configs/n64/mupen64plus.cfg

Joy Mapping Stop = “J0B16”

NOTE: value is case sensitive and requires capitals.

 

RetroArch Config

Find the RetroArch config file (these properties may exist already, but are likely not defined yet) and add the options below. You can exit the emulator using one of the two options listed below. Personally, I prefer to exit the emulator using the PS3 button as opposed to exiting by pressing Start + Select.

Config file: /opt/retropie/configs/all/retroarch.cfg

Exit using Start + Select

input_enable_hotkey_btn = “0”
input_exit_emulator_btn = “3”

NOTE: Hot button config for “select + start” to exit emulator

Exit the emulator using the PS3 button

input_exit_emulator_btn = “16”

NOTE: Exit emulator using PS3 “PS” button

 

PiSNES Config

Similar to the RetroArch config changes, copy the button values for Joystick from retroarch.cfg (/opt/retropie/configs/all/retroarch.cfg) to the PiSNES config file.

Config file: /opt/retropie/emulators/pisnes/snes9x.cfg

Exit using Start + Select

input_enable_hotkey_btn = “0”
input_exit_emulator_btn = “3”

NOTE: Hot button config for “select + start” to exit emulator

Exit the emulator using the PS3 button

input_exit_emulator_btn = “16”

NOTE: Exit emulator using PS3 “PS” button

Enable Multiple PS3 Controllers to Connect to Bluetooth

Exit EmulationStation and enter the following command to set Bluetooth in the “UP” state. This will only need to be done one time:

“sudo hciconfig hci0 up”

Now we need to make sure the Bluetooth is set to scan on startup. Add the following command to the file “/etc/rc.local” just before the “Exit 0”:

“hciconfig hci0 piscan”

Now reboot:

sudo reboot

NOTE: Currently the only way I’ve found to disconnect Bluetooth connected controllers is to reboot the Pi. This can be done directly from the EmulationStation menu and will turn off the remotes until they are manually turned on again.

Bypass EmulationStation No Controller Connected Screen

To disable the EmulationStation “No Controller Connected” screen, we can simply run through the controller setup once with a connected keyboard. Keyboard can be left plugged in or disconnected after that and controller prompt screen will no longer appear. Connecting PS3 controllers is still functional, simply press the PS3 button on each controller to turn them on and connect them.

View Firmware Version

If you’re curious which version of the Raspberry Pi firmware that is currently installed, run the following command:

sudo vcgencmd version

Restart/Shutdown (Command line)

Restart
sudo reboot

Shutdown
sudo poweroff

Conclusion

These steps should help you get almost everything configured for your Retro gaming Raspberry Pi. I’ve included references links below to all of the materials that I’ve found useful in configuring my own Raspberry Pi. If you have questions or need further direction I recommend looking through the links below for assistance as many of your questions may already be answered there.

Good luck and enjoy!

Reference Links

An A to Z Beginners Guide to Installing RetroPie on a Raspberry Pi
https://supernintendopi.wordpress.com

RetroPie ver 2.3: A Pictoral Primer
http://www.raspberrypi.org/forums/viewtopic.php?f=78&t=85041

How to Build an All-In-One Retro Game Console for $35, the Easy Way
http://lifehacker.com/how-to-turn-your-raspberry-pi-into-a-retro-game-console-498561192

RetroPie Installation Guide For The Raspberry Pi
http://www.libregeek.org/2014/03/13/retropie-installation-guide-for-the-raspberry-pi/

Guide to the RetroPie
http://hackinformer.com/2014/01/12/guide-to-the-retro-pi/

RetroPie Project SD Card Image for Raspberry Pi 2
http://blog.petrockblock.com/retropie/retropie-downloads/download-info/retropie-project-sd-card-image-v2-3/

Raspbian + RetroPie + XBMC
http://blog.petrockblock.com/forums/topic/raspbian-retropie-xbmc/

NOOBS (New Out of Box Software)
https://github.com/raspberrypi/noobs

Lightlight Pi
http://www.raspberrypi.org/forums/viewtopic.php?f=78&t=65878

EmulationStation Getting Started
http://emulationstation.org/gettingstarted.html
Raspberry Pi Config.txt Options
http://elinux.org/RPiconfig

Overclocking
http://www.raspberrypi.org/introducing-turbo-mode-up-to-50-more-performance-for-free/
Wifi (Configure from Command line)
http://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md

Install Updates (Debian Updates and RPi Updates)
http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=20895

View Firmware Version
http://www.devils-heaven.com/raspberry-pi-firmware-update/

Restart/Shutdown (Command line)
http://www.raspberrypi.org/forums/viewtopic.php?f=63&t=34428

 

RetroPie Disable Splash Screen

RetroPie: Which Gamepad Should I Use?
https://yetiblog1337.wordpress.com/2013/06/02/retropie-which-gamepad-should-i-use/

RetroPie Keyboard and Controller Issue
http://www.raspberrypi.org/forums/viewtopic.php?t=55013

RetroPie/RetroArch USB Controller Setup Help.
http://www.reddit.com/r/raspberry_pi/comments/2fa7rh/retropieretroarch_usb_controller_setup_help/

Useful Controller Configuration Tips For a Raspberry Pi Retro Gaming Centre
http://www.makeuseof.com/tag/useful-controller-configuration-tips-for-a-raspberry-pi-retro-gaming-centre/

 

USB joystick for primary input device
http://pimame.org/forum/discussion/172/usb-joystick-for-primary-input-device/p1

Setting up a PS3 controller
https://github.com/petrockblog/RetroPie-Setup/wiki/Setting-up-a-PS3-controller

Fixed PS3 Controller Steps
http://blog.petrockblock.com/forums/topic/fixed-ps3-controller-steps/

Setting Up a PS3 controller for mame4all pi
https://github.com/petrockblog/RetroPie-Setup/wiki/Setting-Up-a-PS3-controller-for-mame4all-pi

Raspberry Pi: Connecting multiple PS3 controllers via bluetooth
https://dhoium3009.wordpress.com/raspberry-pi-connecting-multiple-ps3-controllers-via-bluetooth/

No Luck Getting Any Controllers to Work with Emulators
http://blog.petrockblock.com/forums/topic/no-luck-getting-any-controllers-to-work-with-emulators/

How to Setup a Controller in 2.2
http://blog.petrockblock.com/forums/topic/how-to-setup-a-controller-in-2-2/

Controller Setup Nightmare
http://blog.petrockblock.com/forums/topic/controller-setup-nightmare/

Mupen64Plus Config – Exiting Emulator with Joystick
http://www.reddit.com/r/raspberry_pi/comments/2wo5v8/quick_retropie_questions/
https://github.com/mupen64plus/mupen64plus-core/wiki/Mupen64Plus-Core-Parameters

Setting up Dosbox games
http://dosonthepi.blogspot.com/2015/01/run-dos-games-in-retropie_15.html

http://www.dosbox.com/wiki/Usage

Bypass No Controller Connected Screen by Setting up USB Keyboard Once
http://blog.petrockblock.com/forums/topic/multiple-ps3-controller-via-bluetooth-frustration/#post-87409

Enable Multiple Remotes to Connect to Bluetooth
http://blog.petrockblock.com/forums/topic/multiple-ps3-controller-via-bluetooth-frustration/#post-87380

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *