Emulator configurator for Steam Deck
Go to file
Rodrigo 7ab5d07eeb Revert "Merge branch 'dev' into early"
This reverts commit 4088a7b841, reversing
changes made to 2bc2dfe9c6.
2023-11-03 17:31:21 +01:00
.github Revert "Merge branch 'dev' into early" 2023-11-03 17:31:21 +01:00
.gitpod/build .config/EmuDeck 2022-09-25 00:58:09 +02:00
chimeraOS/configs/emulationstation/custom_systems chimeraOS 2023-10-26 23:22:41 +02:00
configs Revert "Merge branch 'dev' into early" 2023-11-03 17:31:21 +01:00
darwin Merge branch 'feature/darwin' into early-early 2023-10-22 16:29:42 +02:00
flatpakupdate Add ares to EmuDeck 2023-06-28 22:16:01 -04:00
functions Revert "Merge branch 'dev' into early" 2023-11-03 17:31:21 +01:00
icons launchers 2023-10-23 17:04:45 +02:00
roms Merge branch 'feature/darwin' into early-early 2023-10-22 16:29:42 +02:00
store add json for apotris. 2023-05-09 18:12:41 +02:00
tools Revert "Merge branch 'dev' into early" 2023-11-03 17:31:21 +01:00
whiptail Should fix ShellCheck for whiptail. 2023-09-14 16:05:38 -04:00
.gitignore ignore 2022-05-24 23:02:57 +02:00
.gitpod.yml Main 0.17.6 (#304) 2022-08-06 09:44:31 +02:00
changelog.md Revert "Merge branch 'dev' into early" 2023-11-03 17:31:21 +01:00
cloudSyncHealth.sh lnk 2023-10-25 13:02:29 +02:00
gc-widescreen.md Wii & GC widescreen patches 2022-05-09 17:08:38 +02:00
install-darwin.sh Steam installation 2023-10-06 14:16:12 +02:00
install.sh cosmetic 2023-10-05 08:14:02 +02:00
installCLI.sh melonDS fix 2023-10-16 19:56:15 +02:00
latest.md Revert "Merge branch 'dev' into early" 2023-11-03 17:31:21 +01:00
LICENSE Initial commit 2022-03-20 14:48:15 +01:00
logo.ans new logo 2022-03-23 19:49:06 +01:00
README.md Revert "Merge branch 'dev' into early" 2023-11-03 17:31:21 +01:00
rsync.awk rsync zenity awk 2023-03-05 17:53:00 +01:00
settings.sh arSnes var 2023-09-05 12:10:37 +02:00
setup.sh chimera install 2023-11-02 12:14:49 +01:00
system-setup.sh Revert "Merge branch 'dev' into early" 2023-11-03 17:31:21 +01:00
test.sh RA + SRM + ESDE 2023-09-22 00:08:48 +02:00
uninstall.sh ESDE Migration 2023-10-08 16:54:58 +02:00
version.md Revert "Merge branch 'dev' into early" 2023-11-03 17:31:21 +01:00
versions.json Update versions.json 2023-10-13 23:45:43 +02:00
whiptail-setup.sh UI Mode 2022-08-08 12:58:45 +02:00
wii-widescreen.md Wii & GC widescreen patches 2022-05-09 17:08:38 +02:00
zenity-setup.sh Revert "Merge branch 'dev' into early" 2023-11-03 17:31:21 +01:00

EmuDeck

Gitpod ready-to-code

EmuDeck is a collection of scripts that allows you to autoconfigure your Steam Deck, it creates your roms directory structure and downloads all of the needed Emulators for you along with the best configurations for each of them. EmuDeck works great with Steam ROM Manager or with EmulationStation DE

** If you are a dev please read till the bottom **

There are two ways of using EmuDeck:

Using Steam ROM Manager

This option gives you all your games presented with their box arts as if they were a regular Steam Game. EmuDeck has preloaded configurations for Steam ROM Manager for the following systems:

https://emudeck.github.io/emulators/steamos/supported-emulators/

Using EmulationStation DE

EmuDeck configures EmulationStation DE to use the same rom folders that EmuDeck creates for you and it even downloads all the emulators and cores the ES-DE needs, all configurations that EmuDeck installs are carried over when using EmulationStation DE. For a comprehensive list of all the systems that ESDE supports go to ES-DE

Hotkeys

We try to use the same hotkeys for every emulator but some of them have their own different hotkeys, shown here:

https://emudeck.github.io/controls-and-hotkeys/windows/hotkeys/?h=hotkeys

Note that Nintendo-oriented emulators refer to "A" in the emulated sense (physical Steam Deck "B")

Developers, developers, developers.

If you wanna help us improve EmuDeck we are open to accept your PR! Just keep in mind this simple guide:

  • Think EmuDeck is for everybody, tech savvy and regular users, so everything has to be properly explained, use Easy mode for unattended automatic stuff.
  • User input is non recommended, everything should be done with no mouse or keyboard input. If input is a must then you have to code your feature only on expert mode.
  • Things using sudo are a big no no, there are exceptions but always try to find a way of prevent using sudo.
  • Every Emulator added has to be included on this readme file, have a SRM profile and follow the AmberElec hotkey mapping ( just check the previous table)
  • Always do your PR to the dev branch.

Submitting a PR Request for a Steam ROM Manager Parser

If you would like to submit a PR request for a Steam ROM Manager parser, use the following format:

The Basics

  • Spell out console names - no acronyms
    • For example, PSP should be spelled out as PlayStation Portable
  • Respect original capitalization and spacing
    • A few examples:
      • RetroArch uses a capital R and capital A
      • The Nintendo Game Boy uses a capital N, G, and B with spaces between each word
      • The PlayStation Portable uses a capital P and S in PlayStation as do the other PlayStation handhelds and consoles

Parser Structure

  • configTitle:
    • COMPANYNAME SYSTEMNAME - EMULATORNAME RETROARCHCORENAME
      • If the standalone emulator name is identical to the RetroArch core name, add (Standalone) behind the EMULATORNAME
    • A few examples:
      • Config Title: "configTitle": "Amiga - RetroArch PUAE",
      • Config Title: "configTitle": "Nintendo Game Boy Color - mGBA (Standalone)",
      • Config Title: "configTitle": "Sony PlayStation 2 - PCSX2",
  • steamCategory:
    • Note: Non-Default Parsers refer to when a system has multiple emulation choices (through alternative emulators or RetroArch cores). Only one of these parsers is enabled by default and any alternative choices are disabled by default.
    • Default Parsers:
      • COMPANYNAME CONSOLENAME
    • Non-Default Parsers:
      • Standalone: COMPANYNAME CONSOLENAME - EMULATORNAME
      • RetroArch Core: COMPANYNAME CONSOLENAME - RETROARCHCORENAME
        • If the RetroArch core's name is identical to the Standalone emulator name, add RetroArch in front of the RETROARCHCORENAME
        • If the standalone emulator name is identical to the RetroArch core name, add (Standalone) behind the EMULATORNAME
    • A few examples:
      • Default Parsers:
        • Mupen64Plus Next (RetroArch core for Nintendo 64)
          • Steam Category Name: "steamCategory": ""${Nintendo 64}",
        • DuckStation (PSX Emulator)
          • Steam Category Name: "steamCategory": "${Sony PlayStation}",
      • Non-Default Parsers:
        • Rosalie's Mupen GUI (N64 Emulator)
          • Steam Category Name: "steamCategory": "${Nintendo 64 - Rosalie's Mupen GUI}",
        • Beetle PSX HW (RetroArch core for PSX)
          • Steam Category Name: "steamCategory": "${Sony PlayStation - Beetle PSX HW}",

Parser Filename

companyname_systemname-emulatorname-retroarchcore.json

If it is a RetroArch core, replace emulatorname with ra.

  • A few examples:
    • nintendo_wii-dolphin.json
    • nintendo_64-rmg.json
    • nintendo_gba-ra-mgba.json
    • sega_saturn-ra-mednafen.json