The conventional way to update RetroPie and install new features is through the setup script.
The setup script can be accessed from the RetroPie menu in emulationstation.
It can also be accessed from the terminal with
Before making any major updates it is important to make backups just in case (see backup options below).
Using the RetroPie Setup Script
If updating from 3.x and earlier: Select Update RetroPie-Setup Script and then Update All Installed Packages
If updating from 4.x and later: Select Update All Installed Packages
- Basic Install: This is intended as a first install and is not required if using a pre-built image. eg When installing RetroPie on top of an existing OS.
- Update All Installed Packages: This will update the RetroPie-Setup script and all installed packages.
- Manage Packages: This will alllow you to install and update individual emulators, ports, controller drivers (like the ps3 or xboxdrv) other optional packages.
- Configuration / Tools: Configuration and tools including BlueTooth and WiFi setup, splashscreens and theme. You can also access any packages that have additional configuration here.
- Update RetroPie-Setup Script: Updates the RetroPie-Setup script to the latest version.
- Uninstall RetroPie: Uninstalls RetroPie from the system.
- Reboot: Reboots your system.
- Core: These are essential packages needed for RetroPie to run. Do not remove them.
- Main: These are the main emulators that come installed with the RetroPie SD image.
- Optional: These are optional packages that are working but aren't included with the RetroPie SD image.
- Drivers: Here you install gamepad drivers like the PS3 or Xboxdrv.
- Experimental: These packages have not been fully tested and may have bugs.
Each section of the manage packages portion of the setup script have the option to install/update all packages and remove all installed packages. You can also update/install and remove packages individually.
The core components needed for RetroPie to function are: - RetroArch: Frontend for the libretro api, necessary for most emulators to run. - EmulationStation: Frontend for sorting and launching all of your games. - RetroPie Menu: Menu in emulationstation for simpler configuration of your system. - Runcommand: The runcommand launch menu that assists launching your games with proper configurations see related wiki page HERE.
Updating/Installing individual packages
You can update/install and remove packages individually.
When selecting a package there is also a help guide with extra information specific to that package:
The Package Help for each emulator should show you: - The name of the package - ROM extensions - ROM folder - BIOS filename and folder if applicable
Latest SD image
If you are worried about conflicts during an update you can always just start with the latest fresh sd image which can be downloaded here and just copy all your files back over onto that instead of updating from an older image.
Making a Backup (Option 1)
You can create an sd image of your current sd card with win32diskimager (if you're on windows)
- Plug your sd card into your laptop (you will need a sd card reader for this)
- Open win32diskimager as an administrator (you can right click on it to run as an administrator)
- make sure you have the correct drive letter for your SD card!
- define the file path that you want to save your .img backup as
- Click read to create your backup. (after you've backed this image up if you screw something up later and want to start from this image you can just click write and it will write this sd image back to your sd card.)
- note if you have a 64GB sd card it will create a 64GB backup file even if you don't have it completely filled up. If you don't want a file that large see the next option.
Making a Backup (Option 2)
if you don't want to create a sd image you can just back up your bios, roms, and configuration files from the samba shares
Making a Backup (OS X)
Open a terminal window and type
diskutil list. A list of all hard disks and partitions shows up. Find a partition with the name
boot - it should say (internal,physical) beside the /dev/disk#. Example:
user@host$ diskutil list /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *500.3 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_CoreStorage Mac HD 499.4 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 /dev/disk1 (internal, virtual): #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Mac HD +499.0 GB disk1 Logical Volume on disk0s2 3BAC0F9E-19F8-4AAB-8752-6514B573B497 Unencrypted /dev/disk2 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.9 GB disk2 1: Windows_FAT_16 boot 59.8 MB disk2s1 2: Linux 15.9 GB disk2s2 user@host$
In this case /dev/disk2 partition 1 is named
boot. That disk# is the retropie sd card - in the example it is /dev/disk2. Confirm that the size (on the right) matches the size of your SD card.
cd ~ ; sudo dd if=/dev/disk2 of=backup.img bs=1m to write a disk image to your home directory. Note that you need to use the entire disk (/dev/disk2) and not just a partition (/dev/disk2s0).