Is there an existing issue for this?
Description
On Android, RetroArch reads a core-wide core-options file
(config/Mupen64Plus-Next/Mupen64Plus-Next.opt) at load, but never writes it back
when options are changed and content is closed/quit — even with "Save
Configuration on Exit" ON and "Use Global Core Options File" OFF. As a result
GLideN64 settings for Mupen64Plus-Next appear to reset, because no change made
via the menu is ever persisted to the core-wide file.
Confirmed with a minimal repro (below): an existing Mupen64Plus-Next.opt with
43screensize="1280x960", no per-game override present. Changing 43screensize to
640x480 in the menu and doing Close Content leaves the file unchanged
("1280x960"). Only "Manage Core Options -> Save Game Options" (a synchronous
write to a per-game .opt) persists anything. The folder is writable
(per-game .opt files save there fine), so this is not a permissions issue. A
debug log of the close shows content teardown with no config/core-options write.
Expected behavior
Changing a core option in the menu and then closing content / quitting should
write config/Mupen64Plus-Next/Mupen64Plus-Next.opt (global toggle OFF), so
changes persist across launches for all content run with that core.
Steps to reproduce the bug
- Settings -> Configuration -> "Save Configuration on Exit" = ON,
"Use Global Core Options File" = OFF.
- Ensure config/Mupen64Plus-Next/ contains ONLY Mupen64Plus-Next.opt
(no per-game .opt), with mupen64plus-43screensize = "1280x960".
- Load an N64 game (Mupen64Plus-Next). Log confirms the value is read: 1280x960.
- Core Options -> Options -> set 4:3 resolution to 640x480.
- Main Menu -> Close Content (also reproduced via Quit RetroArch).
- Open Mupen64Plus-Next.opt -> mupen64plus-43screensize is STILL "1280x960".
The core-wide file was not rewritten.
- Contrast: Manage Core Options -> Save Game Options DOES create/persist a
per-game .opt, confirming writes work and only the automatic
core-wide save fails.
Version/Commit
1.22.2 (Git 69a4f0e), built Nov 20 2025
Bisect Results
Unknown — I have not tested older versions to identify when it broke.
Present in the nightly version
I don't know
Platform & operating system
Android 13, Retroid Pocket 4 Pro (GPU Mali-G77 MC9, OpenGL ES 3.2)
Affected Cores
Mupen64Plus-Next (GLES3 build: mupen64plus_next_gles3_libretro_android.so).
Note: this is a frontend save-path issue, not a core bug — RetroArch owns
writing .opt files.
Environment information
- "Use Global Core Options File" = OFF; "Save Configuration on Exit" = ON
- Config/playlists on internal storage: /storage/emulated/0/RetroArch/
- System/saves/states on SD card: /storage/FAE7-6CC3/EMULATION/EMULATOR_DATA/RetroArch/
- Overrides active (log: "[Override] Redirecting save file…")
- Per-game .opt saves fine (synchronous); core-wide .opt is read but never written on exit.
Relevant log output
https://gist.github.com/norman-zon/bdf210e78a2deccef96bd45cb0c656a2
Is there an existing issue for this?
Description
On Android, RetroArch reads a core-wide core-options file
(config/Mupen64Plus-Next/Mupen64Plus-Next.opt) at load, but never writes it back
when options are changed and content is closed/quit — even with "Save
Configuration on Exit" ON and "Use Global Core Options File" OFF. As a result
GLideN64 settings for Mupen64Plus-Next appear to reset, because no change made
via the menu is ever persisted to the core-wide file.
Confirmed with a minimal repro (below): an existing Mupen64Plus-Next.opt with
43screensize="1280x960", no per-game override present. Changing 43screensize to
640x480 in the menu and doing Close Content leaves the file unchanged
("1280x960"). Only "Manage Core Options -> Save Game Options" (a synchronous
write to a per-game .opt) persists anything. The folder is writable
(per-game .opt files save there fine), so this is not a permissions issue. A
debug log of the close shows content teardown with no config/core-options write.
Expected behavior
Changing a core option in the menu and then closing content / quitting should
write config/Mupen64Plus-Next/Mupen64Plus-Next.opt (global toggle OFF), so
changes persist across launches for all content run with that core.
Steps to reproduce the bug
"Use Global Core Options File" = OFF.
(no per-game .opt), with mupen64plus-43screensize = "1280x960".
The core-wide file was not rewritten.
per-game .opt, confirming writes work and only the automatic
core-wide save fails.
Version/Commit
1.22.2 (Git 69a4f0e), built Nov 20 2025
Bisect Results
Unknown — I have not tested older versions to identify when it broke.
Present in the nightly version
I don't know
Platform & operating system
Android 13, Retroid Pocket 4 Pro (GPU Mali-G77 MC9, OpenGL ES 3.2)
Affected Cores
Mupen64Plus-Next (GLES3 build: mupen64plus_next_gles3_libretro_android.so).
Note: this is a frontend save-path issue, not a core bug — RetroArch owns
writing .opt files.
Environment information
Relevant log output