libretro / libretro/RetroArch

'Save Controller Profile' falsely reports successful save when no modifications have been made

Open
#16,769 0 comments 0 reactions 0 assignees View on GitHub

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:

image

  • Modify any button setting
  • Attempt to Save Controller Profile again. This time, you'll encounter the error "Error saving controller profile." described on the screenshot below:

image

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:

image

Version

  • Flatpak 1.19.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.