EmuDeck/README.md

109 lines
5 KiB
Markdown
Raw Permalink Normal View History

2022-03-20 09:48:15 -04:00
# EmuDeck
Main 0.17.6 (#304) * 0.17.6 * Renaming icon so people know its for updating emudeck * Renaming icon so people know its for updating emudeck * Citra Fix * appImage fix * Yuzu fix for ' * WiiU steam-rom-manager glob update (#267) Previously was missing the period in the extensions and was only looking for lower case. * no WGET * no WGET * Fixed Dolphin (& Primehack) from sending button presses as part of hotkeys as in-game button presses Using the @ operator added to dolphin for input expressions enhancement: https://github.com/dolphin-emu/dolphin/pull/8428 * win600 fix * 16:9 bezel adjustment * fix AR detection script * 16:9 * Bezel fixes * Fixes bezels * Fixes Bezels Deck * More Bezels + Yabause on ESDE * Yabause * CHDDeck now finds and removes files from gdi and cue (#270) chdman script has been updated to properly parse gdi and cue files. chdman script has been updated to use the dolphin-tool binary from the DolphinEmu install. * docs * Adds GitHub Actions linting (#247) Creates GitHub Actions linting. I know this will fail, but it's good to get it in. * add -x for sourcing shellcheck * update shellcheck Only yell about errors * YabaShanshiro bezels * test reset * sourcing settings again * source of the right file * typo * typo2: The return * no & * Beta discord action * always update romsdirectory in ESDE * Emu reorg (#271) the big one - Complete reorganization of the structure of the script. Fixed a few bugs: Files are backed up prior to replacement. Retroarch configs are now applied by merge instead of replace. We'll set our configurations in the config files, but we won't completely overwrite your configurations. Instead we'll append and update as needed. Users who have certain special characters in their password will no longer break RetroAchievements. Added PID lock so script can't run more than once concurrently. Changed all wget to curl so that users who don't have wget(??) don't have issues. Added a few new bezels and shaders for RetroArch. Support more aspect ratios for non-deck devices use $HOME in the SRM config so non-deck users don't have to update it. add Naomi(flycast) support to SRM * add gitpod (#265) Add Gitpod Manjaro * fixed typo in 3ds ROM formats .cii to .cci (#276) * fixed typo in 3ds ROM formats .cii to .cci * added compatibilitytools.d (proton-ge) support * Add pcsx2qt appimage (#287) add emuDeckPCSX2QT add pcsx2qt config add pcsx2-qt parser make moveSavesFolder fn use moveSavesFolder to link stuff * Fix PCSX2-QT SRM roms path fix roms quoting for script * Add PCSX2QT to install script * update pcsx2qt hotkeys * Left Shoulder / Right Shoulder * move functions to helperFunctions * mess with dockerfile * take trailing slash out of biosPath * take trailing slashes out of emulationPath * take trailing slash out of romsPath * update esde functions * log change line * small log change * fix xemu updates to include single quotes in paths. * change setSettings for better logging change up the password logging * add pcengine and pcenginecd parsers * create createDesktopShortcut fn * binup and chd use new shortcut fn * toolsPath/ * Rearrange init in script to make pull make sense * toolsPath no more trailing Slash * Fix BinUpdate desktop icon * add pcsx2-qt widescreen choice update pluginloader / powertools to new versions * add pcsx2-qt variables to settings.sh * no more markdown linting * formatting * add pcsx2-qt appimage to binupdate * take out / from savesPath * remove trailing slashes from $storagePath * fix SRM Parser: Nestopia --> mesen * add easyRPG core * fix setSettings file name for append. changed how the pull works, so it resets and sets the appropriate branch * begin cli only * add dialogBox to all * move pull * git brach change * source whole set of functions before beginning * Get raw jq. Make changeLine only search with start of line char * shellcheck! * update yuzu bios msg with \ * add a bunch of logs * fix psp path * use --ignore-existing on cemu in update * change unlink in yuzu. correct variable for uninstall. * fix pulling * log out installEmuAI * add all setup variables to Easy Mode defaults * add addition file download for emuDeckRetroArch.sh * easyRPG added. Dl Additional Files for cores. * made a settings validator * take out fake setting for testing * shortcut making * add icons * remove setSettings * Cemu Icon * Fix emu / reinstall selections. * take out CHDMan flag * sudo features ONLY in expert mode * Mupen64Plus-Next: Changed default controller pak back to "memory" * change casing of icons * retain cemu.sh final line modifications * backup retroarch configs before merging ours * update documentation * remove / from toolspath in chdman script * fix chdman array * Turn on Terminal for Compression script * Turn on Terminal for Compression script (#299) * moved old pcsx2 to -legacy. new pcsx2 replaces the parserID * name the legacy a bit better? * pcsx2 parser swap (#300) * Turn on Terminal for Compression script * moved old pcsx2 to -legacy. new pcsx2 replaces the parserID * updated latest to be more compact * Fix install not working when backend exists, but is empty * move yuzu finalize to yuzu init / update * update yuzu speedlimit to 100% * keep terminal open with binary updater * binary updater now sources the functions and vars. binary updater reports what it did afterwards. * Dev (#303) * Turn on Terminal for Compression script * Turn on Terminal for Tool updater * Tool Updater reports what it did afterwards. * moved old pcsx2 to -legacy. new pcsx2 replaces the parserID * updated latest notes to be more compact so we don't run off screen * Fix install not working when backend exists, but is empty * Update Yuzu speedlimit to 100% * binary updater now sources the functions and vars. * wonderswan no bezels * PCSX2QT ws_cheats - commented * Revert "PCSX2QT ws_cheats - commented" This reverts commit 657479b54d2a7a0f7175e6d970c209ad99ecc457. * Win600 Bezel fixes * branch names, allow minusc * fix binup cemu update * Add emudeck savesync (#306) * add emuDeckSaveSysnc fn * create service. * add expert mode option for savesync * flatpak update new UI * doSetupSaveSync to settings.sh so we can activate this on the new UI * Ryujinx Config * Ryujinx Config * Ryujinx launcher + SRM * Fix ryu * Ryujinx disabled * Duckstation 16:9 * Duck Wide fix * Flycast wide fix * Fix sync cloud * changelog * Fix flatpak update * Request: Add ZX Spectrum support to EmuDeck/Steam Rom Manager setups #289 * add emulation path to savesync * Preserve SRM custom artwork * docs * Documentation Updates #261 * cheevos off but commented * Mesen HD packs * fix path mesen pack * Mesen HD Packs * Can we add recursive rom parsing tips somewhere? #232 * docs * analog stick to mirror the d-pad controls for older systems #213 * docs * cloudsync doc * Re-add PCSX2-QT parser * Re-add PCSX2-QT parser (#307) * cloudProviders ShellCheck and Zenity output * fix flatpakupdate logic / variables * download and extract easyRPG bios files from their site * set steamdir and romsdir in usersettings * Fix Ryujinx * Ryujinx! * Ryujinx fixes ESDE and installation * add mame flatpak support (#313) add Mame Flatpak Support * fix expert mode selections not applying when false * refresh sudo cache before running sudo commands * add some unlinks before links esde_update instead of init * add mame settings to default file fix settings cat before beginning * sleep 20 seconds before doing the service * add mame launcher * Dev to beta (#314) Added Ryujinx binary Support Added Mame Flatpak Support Co-authored-by: Rodrigo <rodrigosedano@me.com> * add ryujinx to all.sh * add desktop shortcut for installEMuBI * Fix slash direction * no trailing slashes in path variables * clean up dupes * remove duplicates fom settings file. Also now use = * default old pcsx2 to off * take out recursion for ESDE (was picking up other appimages) * Add Mame SRM Parser * Fix PCSX2QTWide variable * re-add Theme Picker * language * move theme pick into expert mode settings * apply esde theme in customizations * Rename ryujinx.svg to Ryujinx.svg * change the install to use find for the scripts * fix desktop path * add ryujinx to binary updater * put creation inside loop for scope * fix yuzu in binup * add bios and bios/mame to mame rompath variable will allow people to split bios for srm will not work for ES-DE as it passes in rompath * update mame controls * quick mame config change * Update latest.md * Update version.md * relabel all the arcades as RetroArch where appropro * fix esde theme application * Change name of pcsx2 to pcsx2-legacy * SaveSync not in Main * typo * update roms path Ryujinx Co-authored-by: Rodrigo <rodrigosedano@me.com> Co-authored-by: Michael Gorman <michael@michaeljgorman.com> Co-authored-by: ronniedude <37117448+ronniedude@users.noreply.github.com> Co-authored-by: Dylan Tackoor <mynameisdylantackoor@gmail.com> Co-authored-by: Merith <merith.tk@gmail.com> Co-authored-by: BillCipher-exe <hakanbaser@hotmail.de> Co-authored-by: Madeline <maddie@mewmews.gay> Co-authored-by: Narcha <42248344+Narcha@users.noreply.github.com>
2022-08-06 03:44:31 -04:00
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-908a85?logo=gitpod)](https://gitpod.io/from-referrer/)
2022-04-09 12:16:38 -04:00
<img src="https://www.emudeck.com/img/hero.png">
2023-10-02 07:45:53 -04:00
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](https://github.com/SteamGridDB/steam-rom-manager) or with [EmulationStation DE](https://es-de.org)
2022-04-09 12:16:38 -04:00
2024-04-05 18:47:23 -04:00
## How to use EmuDeck?
2022-04-29 17:02:59 -04:00
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](https://emudeck.github.io/how-to-install-emudeck/steamos/)
2024-04-05 18:47:23 -04:00
## Developers, developers, developers.
2022-04-29 17:02:59 -04:00
If you wanna help us improve EmuDeck we are open to accept your PR! Just keep in mind this simple guide:
2023-10-02 07:45:26 -04:00
- 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.
2022-04-29 17:02:59 -04:00
- Things using sudo are a big no no, there are exceptions but always try to find a way of prevent using sudo.
2023-10-02 07:45:26 -04:00
- Every Emulator needs to have a SRM profile and follow the AmberElec hotkey mapping.
2022-04-29 17:02:59 -04:00
- 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`
2024-04-05 18:47:23 -04:00
## Credits
### Configurations
* bbilford83
* Tweaked and fine-tuned the Model 2 Emulator and Supermodel for EmuDeck on SteamOS
* Warped Polygon
* Created the wonderful controls for the Model 2 Emulator and Supermodel
* [Model 2 Emulator](https://forums.launchbox-app.com/files/file/3926-sega-model-2-emulator-everything-pre-configured-inc-controls-for-pc-controller-mouse-light-guns-test-menus-configured-analogue-inputs-calibrated-free-play-all-games-in-english-2-player-mouse-support-no-screen-flash/)
* [Supermodel](https://forums.launchbox-app.com/files/file/3857-sega-model-3-supermodel-git-everything-pre-configured-inc-controls-for-pc-controller-mouse-light-guns-test-menus-configured-free-play-all-games-in-english-2-player-mouse-support-audio-adjusted-layout-imagesthe-whole-9-yards/)
### Contributors
* AngelofWoe
* doctorjei
* DragoonDoorise
* DylanTackoor
* exp111
* EXtremeExploit
* frostymm
* Godsbane
* GloriousEggroll
* JesseTG
* Kardbord
* KingIzzymon
* rawdatafeel
* Rosalie241
* SilentException
* WedgeSparda
* WingOfAGriffin