Learn how to assemble, install and customize retropie to build a home emulation console.full course
We’ll need to do a little initial configuration before we start adding consoles and games.
Turn it on
Make sure that your power, hdmi, keyboard and sd card are all plugged in. Turn it on. You should see the retropie start up. First some linux startup, then a retropie start up screen and finally an emulation station startup screen.
At this point you will get a prompt to configure your controller. Just hit F4 to get out to a command line. First we’re going to get SSH setup so that we can work directly on the pi from a terminal.
Type this in:
$ sudo raspi-config
You’ll now be in the Rasberry Pi configuration tool. Scroll to #3 Interface Options. Then scroll to P2 SSH. Accept the security risk warning. Hit Ok on the confirmation page.
If you’re connected to ethernet at this point you can skip the section on configuring WIFI, you should have an IP assigned by your router via DHCP (assuming you are using it) and you should be able to find the pi on the network and SSH in. If you need to setup WIFI, I’ll explain how to do that in this optional section
(Optional) Configure WIFI
I think RetroPie’s configuration tool is much easier to use to setup WIFI than the stock raspberry pi tool. You can start it up via
$ sudo RetroPie-Setup/retropie_setup.sh
843 wifi, then
1 Connect to WiFi network. Select
1 Connect to WiFi network. You should be presented with a list of networks, locate yours and select it. Enter your wifi password. You should see a connecting window before you’re put back on the Configure Wifi screen. Make sure that you’re on the correct ESSID and make note of the wireless IP. This is the address you’ll SSH into.
SSH in to Finish Config
Escape back out to the command line (hit esc until you get to a command line) and find the IP address assigned to the pi (if you don’t have it already). Run ipconfig (InterFaceCONFIG) to find out how the pi is talking to your network
$ ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.128 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::6907:f704:f485:eed8 prefixlen 64 scopeid 0x20<link> ether b8:27:eb:66:4d:b3 txqueuelen 1000 (Ethernet) RX packets 24400 bytes 1942963 (1.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 328 bytes 48981 (47.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 92 bytes 7200 (7.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 92 bytes 7200 (7.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.127 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::9a6:f707:c497:6ba9 prefixlen 64 scopeid 0x20<link> ether b8:27:eb:33:18:e6 txqueuelen 1000 (Ethernet) RX packets 7241 bytes 619953 (605.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 30 bytes 6340 (6.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
You should see something like this. Pick the interface you want to connect to. I’m on both ethernet (eth0) and wireless (wlan0) in this example. Your IP is the address following
You’ll be prompted for a username and password. The default user is
pi and the default password is
Get back into
$ sudo RetroPie-Setup/retropie_setup.sh
By default Retropie comes with some packages already installed. These are core packages (retroarch, emulationstation and the retropiemenu) and the main packages (pretty much all of the supported emulators for libretro, which means that they’ve been verified to be compatible with retroarch). A list of the emulators can be found in the RetroPie docs.
However, since we’ve just installed, lets do a quick update before we do anything in case there’s updates that have been made. I’m not sure if this is necessary, its just something I do for every install.
From the main retropie setup screen hit
U Update and confirm to update the installed packages. Confirm the latest version of the retropie script. Might as well pick up the kernel updates as well. This will take awhile.
Install Additional Packages
Core and Main packages are always installed by default. If you want to install a core or some other software package you’ll need to add it manually.
First go to the optional package menu via
P Manage Packages, opt
The newest RetoPie image has nice dividers in the menu which helps denote them. A description of the package appears on the bottom line. More detailed docs can be found at the RetroPie site. Type in the package name into the search box at the top of the page.
The one that I recommend here (besides any emulators or cores you need) is
skyscraper which is a scraping service that retrieves the game description, box art and demo videos for your ROMS. I’ll cover how to use that later.
Back out to the package menu and select
experimental. These are packages that are not quite ready to be built into the RetroPie image. There’s lots of really good pc game ports and some cores or emulators for systems that are still getting tested out.
On top of any emulators that you want or need you should install
launchingimages and maybe
moonlight (if you want to stream from Steam to your RetroPie).
Back out to the main menu and enter the
Configuration / tools menu.
If you have bluetooth keyboards or controllers to setup, you can do that via
bluetooth. I’m not going to cover that, but its fairly straightforward.
The two that I’m interested here are
splashscreen, but we’ll cover that later.
Exit all the way out to the command line.
Finish Raspberry Pi Configuration
Lets finish up the raspberry pi configuration
$ sudo raspi-config
Go to System Options/Password and change the default password. Remember to save it somewhere.
Optionally, sometimes I update the localization settings. This will not have an impact if you’re just using the RetroPie for gaming, but might be useful if you intent to use it for other things down the road. I’m not going to walk through it but its pretty easy to navigate.