OpenEmux

New OpenEmux now runs on Android →

A simple way to play
your retro collection.

OpenEmux is a free and open-source emulation frontend. Add the games you already have, and OpenEmux organizes them by console with cover art and opens each one with the controls and shaders already set, without digging through settings menus. Linux is its main platform; Windows is supported too, in beta.

Free and open source · MIT licensed · AppImage, .deb, .rpm & Flatpak on Linux · installer & portable ZIP on Windows · APK on Android (GPLv3)

Inspired by OpenEmu for macOS, but not a fork: a separate codebase with RetroArch as the emulation backend. More about that.

Features

What OpenEmux does

Under the hood, the emulation is done by RetroArch. It is powerful, but its menus and settings can be a lot for someone who just wants to play. OpenEmux takes care of what is around it: organizing your games, downloading the cores, and setting up controls and shaders.

🎨

Your games, by console

The games you add are grouped by console, with cover art downloaded from the libretro thumbnail archive.

✨

Ready on first launch

The first time it opens, OpenEmux creates its configuration and downloads the cores your consoles need, usually in about ten seconds. The rest keep downloading in the background.

🎮

Controls per console

Set keyboard and gamepad buttons for each console in one panel. OpenEmux passes them to RetroArch when a game starts.

📺

Shaders per console

Choose a CRT or scanline shader for each console from a short list, without going through RetroArch's shader menu.

🐧

Linux first

Linux is OpenEmux's main platform. The app is built with GTK4 and Adwaita, follows the GNOME guidelines, and every change is tested on Linux first. Windows is supported too, with a build still in beta.

🔍

BIOS checklist

Shows which BIOS files each console needs and which ones you already have, so a missing file does not end up as a game that silently fails to start.

About the games

Play the games you own

OpenEmux is a frontend for RetroArch, made so that someone who just wants to play does not have to learn RetroArch's menus first. It is not a source of games: it ships no games, no ROMs and no BIOS files, and never will.

  • Use only content you legally own. Dump your own cartridges and discs, or use backups of games you purchased.
  • Piracy isn't what this is for. Downloading copyrighted games you don't own is illegal in most countries.
  • Emulation helps preserve history. A lot of gaming's art, music and design lives on aging hardware. Keeping it playable is worthwhile, and it works best when it respects the people who made these games.
OpenEmux — every console in the library
31 systems

Supported systems

Each system runs on RetroArch's own cores, and has its own cover art, controls and shader settings in OpenEmux.

Nintendo (NES) / Famicom Famicom Disk System Super Nintendo (SNES) Nintendo 64 GameCube Game Boy Game Boy Color Game Boy Advance Nintendo DS Virtual Boy Sega Genesis / Mega Drive Sega Master System Sega CD / Mega CD Sega 32X Sega Saturn Game Gear SG-1000 Sony PlayStation Sony PSP TurboGrafx-16 / PC Engine TurboGrafx-CD NeoGeo Pocket WonderSwan Atari 2600 Atari 5200 Atari 7800 Atari Lynx ColecoVision Intellivision Odyssey2 / Videopac+ Vectrex
Cartridge view

Each game on its console's cartridge

In the cartridge view, the games you added show up with their label art on the cartridge of their console. The cartridges below are an example of that view.

Screenshots

Your games, console by console

Each console gets its own page with the games you added to it. Use the arrows to go through them, and click a screenshot to see it full size.

Read the manual →

Android

Your shelf, in your pocket

OpenEmux for Android brings the same library to the phone: the games you own, as cartridges on a shelf per console, played with on-screen controls drawn for each system or with a gamepad. The Android app is its own design: OpenEmu has no mobile version, so only the console icons come from OpenEmu.

🕹️

A skin for every console

Each of the 31 consoles has its own on-screen controller, laid out like the original pad, in portrait and in landscape. A strip under the picture saves, loads, turns on turbo and speeds the game up.

📼

Cartridges and covers

Games show up as cartridges with their labels, or as covers and a list. The shelves can be put in any order.

⬇️

Ready after one download

The app does not carry the cores: the first time it opens, it downloads the ones every console needs from the RetroArch buildbot, with the system files PSP and GameCube use.

🎮

Gamepad too

Connect a controller and the on-screen skin steps aside: the game takes the whole screen, and the menus follow the D-pad and buttons.

🌗

Light and dark

Follows the phone's theme, or pick one in Settings.

🌐

Eight languages

The same languages as the desktop app, following the phone or chosen in Settings.

🏆

RetroAchievements

Sign in once in Settings and every game unlocks achievements on your RetroAchievements profile, with hardcore mode when you want it.

⬇ Download the APK

Android 8 or newer, 64-bit (arm64). The Android app is a fork of RetroArch, so it is licensed under the GPLv3; its source is at open-emux-mobile.

Get started

Installing

There are packages for Debian, Ubuntu and Fedora, an AppImage, a Flatpak, an installer for Windows and an APK for Android. On first launch OpenEmux sets up the rest.

Linux

AppImage

Any distro

chmod +x OpenEmux-x86_64.AppImage
./OpenEmux-x86_64.AppImage

No FUSE? Prefix with APPIMAGE_EXTRACT_AND_RUN=1.

.deb

Debian / Ubuntu

sudo apt install ./openemux_*_amd64.deb

Ubuntu 24.04 LTS or newer.

.rpm

Fedora

sudo dnf install ./openemux-*.x86_64.rpm

Fedora 40 or newer.

Flatpak

Sandboxed, auto-updating

flatpak install -y flathub org.libretro.RetroArch
flatpak remote-add --if-not-exists --no-gpg-verify \
  openemux https://guilhermefeitosa66.github.io/openemux-flatpak/repo
flatpak install -y openemux io.github.guilhermefeitosa66.OpenEmux

Updates arrive with flatpak update. A single-file .flatpak bundle is on the Releases page too.

Windows Beta

Both builds carry GTK 4, the Python runtime and RetroArch itself, so there is nothing to install alongside them. Windows 10 or 11, 64-bit. It is new — if something misbehaves, open an issue.

Installer

The usual way

OpenEmux-*-setup.exe

Installs for your user only, so no administrator prompt. The builds are not code-signed yet: SmartScreen will warn, and More info → Run anyway gets past it.

Portable

Nothing installed

OpenEmux-*-windows-x86_64.zip

Unzip it anywhere and run OpenEmux.exe from the OpenEmux\ folder inside. Good for a USB stick or a machine you cannot install software on.

Android

The APK is not on the Play Store yet: download it from Releases and allow your browser or file manager to install apps when Android asks. Android 8 or newer, 64-bit.

APK

Install the APK

OpenEmux-mobile.apk

Open the downloaded file and confirm. Updates are installed the same way, over the previous version.

First run

Let it download the cores

The first time it opens, the app downloads the emulator cores. Then put your ROMs in Import, or in Android/data/com.openemux.mobile/files/roms on the phone.

Checksums

Verify your download

Every release ships a SHA256SUMS file. Put it next to the artifact you downloaded and run:

sha256sum -c SHA256SUMS --ignore-missing

OK means the file is exactly what was published. Anything else means it is corrupt or tampered with — don't run it.

On Windows, PowerShell prints the hash and you compare it by eye with the matching line in SHA256SUMS:

Get-FileHash .\OpenEmux-*-setup.exe -Algorithm SHA256

Download from Releases →

Prefer building it yourself? make bootstrap && make run — see the build instructions.

Credits

Inspired by OpenEmu, powered by RetroArch

OpenEmux is inspired by OpenEmu, the emulator frontend for macOS. OpenEmu only runs on macOS, so OpenEmux tries to offer something similar on Linux, and now on Windows too. It is not a fork and shares no code with OpenEmu: it is a separate codebase in Python, GTK 4 and libadwaita, and the emulation itself comes from the RetroArch and libretro projects. The console icons are OpenEmu's artwork, credited under OpenEmu's BSD license. The Android app is an independent design (there is no OpenEmu for phones). OpenEmux is not affiliated with or endorsed by the OpenEmu Team. None of this would exist without the work of all these projects. ❤️

Support the project

OpenEmux is free software

It is free to use, and the code is open under the MIT license. If you would like to help, bug reports, translations, code and ideas are always welcome. On r/OpenEmux you can ask for help, share your setup or follow what is being worked on.