RetroPie Is Alive! Now what?

Preparing for the first RetroPie Boot

After copying the RetroPie image to the SD card, you are almost ready to fire up your Raspberry Pi and try it out.  If you bought a kit, like the Canakit, you should have everything you need, except a display and a keyboard or game controller.  But if you didn't, you are also going to need the following:

  • Power supply - the Pi needs 5 VDC via the micro USB on-board port.
  • HDMI Cable - Connects the onboard Pi HDMI to your HDMI compatible display
  • Display - you can use any TV or monitor, but I'd recommend starting with an HDMI television due to the audio.  If you use a monitor without sound via HDMI you aren't going to hear any of the cool classic arcade audio.  Alternatively, you can connect external powered computer speakers via the on-board 3.5 mm jack on the Pi.  But this audio can be scratchy as best, and volume can be a challenge as well.  Eventually you may want to transition to external speakers (as in an arcade cabinet), but if you can start with a TV or monitor with built-in audio via HDMI, it's one less thing to deal with at the outset.
Plug in the HDMI, Keyboard, Ethernet cable (if possible) and optional external speakers if you need them.  Finally plug in the power supply, hold your breath, cross your fingers, say a prayer if you're so inclined and....
First boot attempt. IT'S ALIVE!  Hello, world!










If for some reason, the system doesn't boot properly or starts then crashes, don't panic.  To be honest, this first install and boot process is pretty foolproof (if I didn't fool it, then it must take some real effort to do so).  But if you do run into some unexpected issue, there is a lot of help to be found on the RetroPie website, along with a plethora of other sites, forums and message boards.  There is a huge community of retro gamers and RetroPie users out there that are willing to help.  It's pretty good odds that if you are seeing it, someone else has too!

EmulationStation




Once RetroPie finishes booting, you will be taken to EmulationStation.  ES serves as the front-end navigation system for launching the various emulators, configuring controllers and other system settings.  At this point, you'll need to have a keyboard or other game controller connected to navigate.  In fact, the first thing EmulationStation is going to do is scan and look for a connected controller.  If found, it is going to prompt you to configure it.  You'll hold down a key or button to start the process.

An initial note on controller configuration
Controller configuration can be a very confusing aspect of RetroPie and EmulationStation.  It has fine-grained control that allows controller configuration at the system level, per emulator and even at individual game level.  Add in the mapping from physical buttons to virtual buttons via RetroArch and it can be overwhelming.  This detailed control within RetroPie can be a blessing or a curse when trying to get your controls working as expected.

But for the initial configuration, you simply press the button you want to map to the corresponding item within EmulationStation.  Remember which button or key you selected for the following:

Directional keys (up, down, left, right) - either the arrow keys on the keyboard or the d-pad on a game controller.

"A" button - selects a menu option
"B" button - backs up or opts out of a selection
"Select" - acts as coin insert by default in Arcade games and brings up emulator-specific options when in an emulator
"Start" - Displays menu within ES and acts as Player 1 start within emulators

"HotKey" - This one is a little more difficult to explain, but it functions similar to a Shift or Function key on a keyboard.  It is primarily for admin function and works when pressed with another key.  For example, if you press the defined "hotkey" along with the Player 1 (Start) key, it will exit the currently running game.  This is important, because otherwise the only way to exit a running game is to pull the power!  Not a good idea and can corrupt the SD card.

Those are the only ones you need to start.  Yes, eventually, you'll want to program other buttons to actually play games, but like most things in RetroPie, nothing you do is permanent.  You can always add, remove and remap controllers later.  For now, focus on the basic you need to finish configuration and setup.

All the information you need for configuration can be found on the RetroPie or other websites, but here are some things you are probably want to take care of before getting waist-deep in emulators and games:

  • Change the default user password!
  • Configure WiFi for your network
  • Set system options such as time zone
  • Add a bluetooth keyboard or controller if you don't want to be tethered to the Pi
  • Consider switching your network from DHCP to a static IP address.  This is optional but makes life easier once you start using remote access to the Pi.
  • Change the default user password!
I can't emphasis that first bullet point enough!  It's so important I made it the last bullet point as well. Do a simple Google search on Raspberry Pi default password.  I'll save you the effort.  The default user name is 'pi' and the default password is 'raspberry'.  It's everywhere and everyone knows it.  If you are going to connect your Pi to the Internet (and you'll almost have to at some point), you'll be prime picking for the bad guys.  Not that changing your password will guarantee you complete safety, but it's at least a step in the right direction.  The password can be changed via the EmulationStation/Retropie setup system without dropping to a Linux command prompt, so there's no excuse not to do this right away... even for the Linux-challenged like me!

Backups and Clones

Once you've invested some time and effort to configure your Pi and RetroPie to your environment, I'd highly recommend you stop and take the time to create a backup image of your SD card.  That way, if you do screw something up like I did and brick the system (I was messing around in some deep buried system configuration menu.  I don't even remember what it was or what I did, but it definitely bricked the system... even after a hard reboot), you simply transfer your backup image back to the SD card and viola... you are back to where you were.  My rule of thumb is that once I've invested enough time that I would not want to repeat it, or finally figured out some complicated process I'm not sure I could repeat, I stop and make a backup.  The time this will take will vary based on the size of your SD card and the speed/power of the computer you are using to image.  In my case, a 32GB card on a mid-powered Windows 10 machine takes about 30 minutes to create a full image.  Note that the image will consume the full capacity of storage on your backup device, regardless of the amount of data actually on the SD card.  So, a single backup image of a 32GB card will take 32GB of storage on your computer, even if you only have a couple of MB on the card.

Important note: At least on Windows 10, when I insert the USB drive with the microSD inserted into the computer, Windows prompts me to format the drive.  It sees a partition on the drive that appears to be unformatted.  Do not let Windows format the partition!  Simply dismiss the dialog box and move on to your imaging software.

I keep at least two or three of the latest images, with changes made between images in a spreadsheet and on a whiteboard.  This has saved me more than once as I began to experiment with more advanced things (or screwing around at the Linux command line, where I really don't belong... but how else am I going to learn?).  I then take older images and move them off to a network drive or simply delete them if I'm absolutely sure I will never want to restore them.

It is also possible to clone an image from one SD card to another.  I now have a second Pi that will eventually go into my full size cabinet, along with the original prototype.  There seems to be some differing opinions of success on cloning from one Pi to another, but I use the exact same size of SD card (even the exact same manufacturer) and I've never had a problem moving an image from one to another.  Your mileage may vary...

Powering Down the Pi
You've probably noticed, or soon will, the Raspberry Pi does not have a power button.  It boots up as soon as it receives power, but in and of itself, there is no way to power down short of pulling the plug.  And like most computers, this can be a bad idea.  A structured shutdown assures necessary processes are stopped and things are neatly cleaned up.  Just pulling the plug can corrupt the SD card and leave the system unbootable and necessitate a restore from a backup image (you did create a backup image, right?).  I have gotten myself in situations where I had to "pull the plug" and have been lucky so far to not have corrupted an image, but it's not what you should normally do.

You can reboot, shutdown and/or exit EmulationStation via the menu system in RetroPie. Simply use your defined "Start" key to display the menu and select the appropriate option.  Note, however, if you just exit EmulationStation, it will not shut down the system but instead exit out to a Linux terminal/command prompt.  And without a keyboard connected, you can't get back to EmulationStation or otherwise orderly shut down the system.  If you do have a keyboard connected, you can simply type 'emulationstation' (without the quotes) and press <enter> to restart EmulationStation.  Alternatively, you can use Linux commands to reboot or shutdown the system as described below.

All that being said, there can be situations (and it has happened to me on numerous occasions) where some game or other operation causes RetroPie to crash to the command prompt.  When this happens, often the connected keyboard also will not respond.  This is one place where remote access is very handy.  Simply remote into the Pi using your favorite SSH application.  Once at the command prompt (or if the connected keyboard still responds), simply enter the following:

sudo reboot 0
or
sudo shutdown 0

The zero (0) is optional, but executes the command immediately.  Otherwise there is a delay before execution.  This is primarily used in a multi-user environment to allow others to log out, but I'm impatient so I always include the zero so the command executes immediately.  Look at me!  I'm learning Linux already!  Maybe I should replace my chicken mascot with this guy:














Next: Emulators and Game (ROM) Files >>

No comments:

Post a Comment

RGBCommander Update (and possible fix)

If you have recently been working on your own arcade and ran across posts referencing a utility for RetroPie called RGBCommander that can co...