Emulator configurator for Steam Deck
Go to file
Simon Lalonde 38fcd2738b
Handle special chars when echoing password for sudo req funcs? (#901)
* adds updating the roms path in usersettings to the migration

* Fix migration with saves

* Hotfix dolphin config

Remove WirelessMac

* SRM:

update saturn parser to include saturnjp

* freeze PCSX2

# Conflicts:
#	functions/EmuScripts/emuDeckPCSX2QT.sh

* Update emuDeckPCSX2QT.sh

* Add GitHub Issue Templates

* Create pull_request_template.md

* Update README.md

* Update README.md

* helpers: Fix FlatPak installed check (#875)

The previous way of checking whether a package was installed or not was
incorrect in its assumption, that a package ID will only occur once in
the flatpak installed list.

I noticed this while trying to install PPSSPP, as FlatPak installs a
`org.ppsspp.PPSSPP` and `org.ppsspp.PPSSPP.Locale` package. The package
was installed correctly, but EmuDeck would register it as non-installed.

Signed-off-by: Sophie 'Tyalie' Friedrich <dev@flowerpot.me>

* SDL Driver

* hotfix Vita3k releaseURL

hotfix Vita3k releaseURL

* Update Vita3K's default config path (#890)

* better linux support

* Chimera

* chimera

* chimera

* chimeraaa

* chimeraPath

* chimeraos FIX

* chimera fixes

* fixed readme

# Conflicts:
#	README.md

# Conflicts:
#	README.md

* Handle special chars when echoing password for sudo req funcs

* store zenity/cli prompt passwd as str

---------

Signed-off-by: Sophie 'Tyalie' Friedrich <dev@flowerpot.me>
Co-authored-by: Livedeht <godsbane@gmail.com>
Co-authored-by: Rodrigo <rodrigosedano@me.com>
Co-authored-by: 108900299+rawdatafeel@users.noreply.github.com <108900299+rawdatafeel@users.noreply.github.com>
Co-authored-by: Sophie Tyalie <dev@flowerpot.me>
Co-authored-by: Pedro Montes Alcalde <pedro.montes.alcalde@gmail.com>
2023-12-29 16:58:03 +01:00
.github PR template 2023-10-11 21:30:28 +02:00
.gitpod/build .config/EmuDeck 2022-09-25 00:58:09 +02:00
chimeraOS/configs/emulationstation/custom_systems Update from Early Early + RPCS3 + Citra PR 2023-11-02 19:43:11 +01:00
configs Handle special chars when echoing password for sudo req funcs? (#901) 2023-12-29 16:58:03 +01:00
darwin shellcheck fix 2023-12-21 19:01:17 +01:00
flatpakupdate Revert "== > =" 2023-11-30 22:39:36 +01:00
functions Handle special chars when echoing password for sudo req funcs? (#901) 2023-12-29 16:58:03 +01:00
icons Update from Early Early + RPCS3 + Citra PR 2023-11-02 19:43:11 +01:00
roms pegasus 2023-12-06 11:08:30 +01:00
store add json for apotris. 2023-05-09 18:12:41 +02:00
tools Use local running instance of Jellyfin for default URL. This allows instant access if Jellyfin server is installed and running on Steam Deck (#909) 2023-12-29 16:52:30 +01:00
whiptail Revert "== > =" 2023-11-30 22:39:36 +01: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
api.sh shellcheck fix 2023-12-21 19:01:17 +01:00
cloudSyncHealth.sh Update from Early Early + RPCS3 + Citra PR 2023-11-02 19:43:11 +01:00
export.sh Export Tool fixes 2023-11-25 00:46:01 +01:00
gc-widescreen.md Wii & GC widescreen patches 2022-05-09 17:08:38 +02:00
import.sh Export Tool fixes 2023-11-25 00:46:01 +01:00
install-darwin.sh Handle special chars when echoing password for sudo req funcs? (#901) 2023-12-29 16:58:03 +01:00
install.sh Handle special chars when echoing password for sudo req funcs? (#901) 2023-12-29 16:58:03 +01:00
installCLI.sh Revert "== > =" 2023-11-30 22:39:36 +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 fixed readme 2023-11-03 17:36:00 +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 Handle special chars when echoing password for sudo req funcs? (#901) 2023-12-29 16:58:03 +01:00
test.sh Pegasus parser 2023-11-30 10:22:35 +01:00
uninstall.sh Revert "== > =" 2023-11-30 22:39:36 +01:00
versions.json Pegasus paths fix 2023-12-11 09:41:29 +01: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

EmuDeck

Gitpod ready-to-code

EmuDeck is a collection of scripts that allows you to autoconfigure your Steam Deck or any other Linux Distro, 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

How to use EmuDeck?

We recomend you take a look at our extensive Wiki, you'll find guides, videos and all sorts of content about the project:

EmuDeck Wiki

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 that EmuDeck is for everybody, tech savvy and is specially directed to regular users that are new to Emulation, so everything has to be properly explained.
  • Things using sudo are a big no no, there are exceptions but always try to find a way of prevent using sudo.
  • Every Emulator needs to have a SRM profile and follow the AmberElec hotkey mapping.
  • 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