← All projects

Emu Station for Steam Deck

A port of the Emu Station to SteamOS Game Mode, using the emulators EmuDeck installs.

C++LinuxSteam Deck
A tour on the Deck: starting it from Steam, the startups and menus, the in-game menu, saves synced with the PC, and every console. Music: Fading Horizon by Mehul Choudhary (CC BY 3.0).

The Steam Deck version of JTOP’s Emu Station, ported from the Windows original.

How it works

It runs on SteamOS in Game Mode, added to Steam as a non-Steam game, and uses the emulators EmuDeck installs. The same code still builds and runs on Windows.

Game Mode shows one app at a time, so each game’s emulator takes over the screen and the shell comes back when it exits. The in-game menu freezes the emulator and asks Game Mode to show the shell in its place.

Pick a console from the home screen and it “switches on”: its real startup plays (from the BIOS where there is one), then a menu made to look like that console’s own, and each game starts full screen in the right emulator.

Features

  • Real startups: the PS2 towers, GameCube cube, Dreamcast swirl, and PlayStation and Saturn logos, played from the BIOS.
  • Menu sounds and music recorded from the real console menus.
  • Box art downloaded once from the libretro thumbnails collection and cached.
  • About each game: a page per game with its description, release date, developer, publisher, genre, players and rating, from the LaunchBox Games Database.
  • In-game menu with Resume, Save State, Load State, Next Disc, Settings and Quit Game.
  • Picture settings for each console, including screen shape and resolution.
  • Multi-disc games are found automatically and listed once.
  • Syncthing Installed: All game saves from all emulators can be used on Steam Deck or PC and sync with each other

Consoles

Console Emulator Menu
PlayStation DuckStation The PlayStation’s BIOS menu
PlayStation 2 PCSX2 The PS2’s browser and system configuration
PlayStation 3 RPCS3 The XMB
GameCube Dolphin The GameCube’s cube menu
Wii Dolphin The Wii Menu’s channel grid
Dreamcast Flycast The Dreamcast’s menu, with VMU saves
Genesis RetroArch Styled after its game boxes
Super Nintendo RetroArch Styled after the console
Nintendo 64 RetroArch Styled after the console
Saturn RetroArch Styled after the console
PSP PPSSPP The XMB (the PS3’s, with the PSP’s games and settings)
Game Boy Color RetroArch Styled after the handheld
Game Boy Advance RetroArch Styled after the handheld
Xbox xemu The dashboard, after the BIOS’s startup
Game Gear RetroArch Styled after the handheld
Nintendo Switch Citron or yuzu The HOME Menu, with its lock screen
Game Boy RetroArch Styled after the handheld
NES RetroArch Styled after the console
PS Vita Vita3K The home screen’s bubbles, and each game’s LiveArea