# RetroPie-Setup: the shell script that turns a Pi or Ubuntu box into an emulation console

> RetroPie-Setup is the installer and package manager behind a RetroPie build: a Bash script that pulls in RetroArch, EmulationStation and a long list of emulator cores. It suits people who want a curated stack on Raspberry Pi OS or Ubuntu, and it is the wrong tool if you want a single emulator or a platform the script does not target.

**RetroPie/RetroPie-Setup** — Shell script to set up a Raspberry Pi/Odroid/PC with RetroArch emulator and various cores

- Repository: https://github.com/RetroPie/RetroPie-Setup
- Stars: 10,420 · Forks: 1,408
- Language: Shell
- License: NOASSERTION
- Published: 2026-09-21 · Updated: 2026-09-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/retropie-retropie-setup

## What RetroPie-Setup actually installs, and for whom

RetroPie-Setup is not an emulator. The README describes it as a shell script that sets up a Raspberry Pi, Vero4K, ODroid-C1 or a PC running Ubuntu with many emulators and games, using EmulationStation as the graphical front end. The emulation work is done by RetroArch and the cores it loads; the script's job is to fetch, build and wire those pieces together, then present them through a menu.

The audience is narrow and stated plainly. The script is designed for Raspberry Pi OS (previously Raspbian) on the Raspberry Pi, OSMC on the Vero4K, and Ubuntu on the ODroid-C1 or a PC. If your hardware or distribution is not in that list, the README offers nothing. That is a deliberate scope, not an oversight, and it is the first thing to check before you spend an evening on it.

There is also a shortcut for people who do not want to run the script at all. Bootable pre-made images for the Raspberry Pi are downloadable from the releases section of GitHub or from retropie.org.uk. If your goal is a working console rather than a system you assembled, the image is the shorter path and the script is the longer one.

## Binaries or source: the split that decides your install time

On the Raspberry Pi, RetroPie-Setup offers the possibility to install from binaries or from source. On the other supported platforms, only a source install is available. The README recommends the binary route on a Pi because building everything from source can take a long time. That sentence is doing a lot of work: source builds compile each component on the device, and the set of components is large.

The practical consequence is that a Pi install is a choice between speed and control, and the choice is made per package inside the menu rather than once at the start. A Vero4K, ODroid-C1 or Ubuntu PC user does not get that choice at all. If compiling on the target machine is unacceptable to you, the supported platform list effectively shrinks to the Raspberry Pi.

The repository layout reflects this split. Alongside retropie_setup.sh and retropie_packages.sh sit platforms.cfg and a scriptmodules/ directory, which is where the per-package build and install logic lives. The top level also carries ext/, AUTHORS, CONTRIBUTING.md, COPYRIGHT.md and LICENSE.md. Nothing in the README explains the module format, so reading scriptmodules/ is the way to learn what a given package does.

## Installing RetroPie-Setup on Raspberry Pi OS or Ubuntu

The README's prerequisites are short: up-to-date APT repositories and Git. Run these first, in the order given.

```bash
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install git
```

The dist-upgrade step is a full upgrade of the system, not just a refresh of the package lists, so expect it to take a while on a fresh card. Then clone the setup script into your home directory. The README uses --depth=1, which fetches only the latest revision.

```bash
cd
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
```

With the clone in place, change into the directory and run the script with sudo. The README notes that on first run it may install some additional packages that are needed.

```bash
cd RetroPie-Setup
sudo ./retropie_setup.sh
```

What you should see is the setup menu, which is the interface for everything that follows: choosing packages, picking binary or source on a Pi, and configuring the installed components. The README does not walk through the menu entries, so treat the menu itself as the documentation surface for the next step, and use retropie.org.uk/docs for component-level questions.

## Where RetroPie-Setup is the wrong tool

The clearest failure case is macOS. The README names Raspberry Pi OS, OSMC on the Vero4K, and Ubuntu on the ODroid-C1 or a PC. macOS is not among them, and the script's package installation leans on APT, which macOS does not use. People searching for a Mac setup will not find a supported path here.

The second case is scope. If you want one emulator for one system, installing a front end plus RetroArch plus a core set is more machinery than the task needs. RetroPie-Setup is built around the assumption that you want a console-like experience with a library of systems behind it.

There is also a maintenance boundary that the README does not address. It documents installing and running the script, and it points to the docs site for components and FAQ answers, but it does not document rollback, removal of an installed package, or recovery from a failed build. For a script that compiles software on the device, that silence matters, and it is the kind of thing you only discover when a build fails halfway. Check the docs site before assuming an undo path exists.

## How RetroPie-Setup differs from Lakka and from hand-built RetroArch

The honest comparison is with two other ways of getting the same emulators running. Lakka is a LibreELEC-based distribution: you flash an image and the whole operating system is the emulation front end. RetroPie-Setup instead installs onto a general-purpose OS you already run, which is why it can sit on top of Raspberry Pi OS, OSMC or Ubuntu. The trade-off is that you keep a desktop-class system underneath, with its updates and its other software, in exchange for a setup that is not a fixed appliance.

The second alternative is doing it yourself: install RetroArch and EmulationStation from your distribution's packages, add cores one at a time, and write your own configuration. That gives you exact control and no dependency on this script's platform list. What you lose is the curated set and the menu that installs and configures the pieces together. RetroPie-Setup's value is precisely that curation, so if you do not want curation, the script is overhead rather than help.

Note that the repository's license is recorded as NOASSERTION, which means the machine-readable license field is not populated. The repository does carry a LICENSE.md and a COPYRIGHT.md, and the README's closing note thanks the many other projects whose work the script simplifies. If you plan to redistribute a built image, read those files rather than assuming a single license covers everything the script installs.

## Maintenance, releases and what upgrading looks like

The last push to the default branch was on 2026-09-16, so the repository is being touched. The tagged releases tell a different story about cadence: 4.8 was tagged on 2022-03-14, 4.7 on 2020-11-02, and 4.7.1 on 2020-11-04. Between 4.8 and the most recent commit there is a long gap with no release tag, which means the script version number you see in the menu may not correspond to a recent release. If you are tracking changes, commits on master are the signal, not the release list.

Upgrade cost depends on the install method you chose. Binary installs on a Pi are replaced by fetching new binaries. Source installs are recompiled, which is the same time cost as the original build and the reason the README steers Pi users toward binaries. Either way the script is the update mechanism, so a machine you set up with it is a machine you maintain through it.

The licence position is unresolved in the metadata and explicit in the tree. LICENSE.md and COPYRIGHT.md exist at the top level, and the README states that the script simplifies the usage of the great works of many other people. Those works carry their own terms. Treat the script's licence and the licences of everything it installs as separate questions, and read the files rather than relying on the NOASSERTION field.

## Conclusion

Adopt RetroPie-Setup if you have a Raspberry Pi on Raspberry Pi OS, a Vero4K on OSMC, or an ODroid-C1 or PC on Ubuntu, and you want the curated RetroArch plus EmulationStation stack installed for you. Do not adopt it if your target is macOS, if you want one emulator rather than a front end and a core set, or if you need an unattended install path, because the README documents none. Verify first that your platform is one of the four named, that your APT repositories are current and Git is installed, and whether you want the binary route or the source route on a Pi, since that choice decides how long the install takes.

## FAQ

### Is RetroPie good for beginners?

The README offers bootable pre-made Raspberry Pi images for those who want a ready-to-go system, which is the gentler entry point. Running the setup script itself assumes you are comfortable with APT, Git and a sudo shell command. The README does not describe a guided first-run experience beyond the menu.

### Are RetroPie ROMs legal?

The README does not discuss ROMs, their sources or their legality, so it offers no guidance here. It describes installing emulators and games through the setup script and points to retropie.org.uk/docs for component questions. Anything about ROM licensing is outside what this repository documents.

### What consoles can RetroPie emulate?

The README does not list supported consoles. It says the script sets up many emulators and games using EmulationStation as the graphical front end, with RetroArch and various cores. The specific systems depend on which cores you install, and the docs site is where the README sends you for component details.

### How do I install games on RetroPie?

The README does not document game installation. It covers installing and running the setup script, and it directs readers to retropie.org.uk/docs for information about components and FAQ answers. That is the source to consult for anything beyond the script itself.

### how to access retropie setup from command line

The README's own instructions are command line: clone the repository, then run sudo ./retropie_setup.sh from inside the RetroPie-Setup directory. That command launches the setup menu, which is the interface for installing and configuring packages. The README does not document a way to drive individual menu actions non-interactively.

## Sources

- [Issues](https://github.com/RetroPie/RetroPie-Setup/issues)
- [README](https://github.com/RetroPie/RetroPie-Setup/blob/master/README.md)
- [Releases](https://github.com/RetroPie/RetroPie-Setup/releases)
- [RetroPie/RetroPie-Setup on GitHub](https://github.com/RetroPie/RetroPie-Setup)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/retropie-retropie-setup
