'Save Controller Profile' falsely reports successful save when no modifications have been made
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
RetroArch's default configuration file (retroarch.cfg) specifies "/app/share/libretro/autoconfig" as the joypad autoconfig directory. However, in the Flatpak environment, this path actually corresponds to "/var/lib/flatpak/app/org.libretro.RetroArch/current/active/files/share/libretro/autoconfig" in the root directory. This discrepancy prevents RetroArch from properly extracting files to the intended location.
To demonstrate this issue:
- Exit RetroArch completely
- Remove the RetroArch profile directory: ~/.var/app/org.libretro.RetroArch
- Launch RetroArch
- Navigate to
Settings -> Input -> RetroPad Binds -> Port 1 Controls - Select
Save Controller Profile. You should see a confirmation message:
- Modify any button setting
- Attempt to
Save Controller Profileagain. This time, you'll encounter the error "Error saving controller profile." described on the screenshot below:
Expected behavior
- Exit RetroArch completely
- Remove the RetroArch profile directory: ~/.var/app/org.libretro.RetroArch
- Launch RetroArch
- Navigate to
Settings -> Input -> RetroPad Binds -> Port 1 Controls - Select
Save Controller Profile. The error "Error saving controller profile." should be displayed:
Version
- Flatpak 1.19.1
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
Reproduce the behavior in the Flatpak environment from Settings -> Input -> RetroPad Binds -> Port 1 Controls. Compare saving an unchanged profile with saving after modifying a button, using the reported paths and messages as the checks. Done means the initial save reports an error when no profile can be written, rather than falsely reporting success.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100