RetroPie / RetroPie/RetroPie-Setup
Per-core 'Reset to default configuration' option
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 10.4k
- Forks
- 1.4k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 11
Description
As discussed some time ago in discord, it would be useful to have an option in the package manager for each libretro core. This saves the user the current fiddly process of:
- Delete file
/opt/retropie/configs/all/[foo]/retroarch.cfg([boo]is the system directory. egsnes- this could potentially be shared with another libretro emulator for the same system, but if it needs resetting for one it probably needs resetting for all) - Reinstall emulator via retropie_setup (regenerates
retroarch.cfgdeleted in 1.) - Delete overrides directory
/opt/retropie/configs/all/retroarch/config/[bar]([bar]is the libretro core library name, egSnes9x- should be similar, but not neccesarily the same, asrp_module_id- eglr-snes9x) - For completeness, all the core options set in
/opt/retropie/configs/all/retroarch-core-options.cfgshould be removed. they are in the format[bar][delimiter][option]="value"([bar]is the libretro core library name.[delimiter]can be_or-and maybe more). they will be reset to defaults when the emulator is next run)
step 3 and 4 are a little tricky to automate - either we add the libretro library name to the install scripts, or we programmatically retrieve it/store it somehow when updating/installing the core. i have a feeling there is a way to get the library name for a given core via command line but not sure... Maybe you can run the core with no game in verbose mode, and grep it from the log.
We would also want an option for resetting the main /all/retroarch.cfg
This option could potentially be expanded into non-libretro packages, to clear the /opt/retropie/configs/[food] directory, and then run sudo ./retropie_packages [foo] configure again, or something like that.
Happy to prototype this myself, but I think Buzz wanted to handle it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the retropie_setup package-manager entry points and the retropie_packages configure path, then trace how the listed RetroArch configuration paths are created and associated with a core. Done means a per-core reset option and a main RetroArch configuration reset are defined, with the scope and handling of core options made explicit.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100