RetroArch Not Saving Settings? How to Fix Config Files, Overrides, and Read-Only Storage

RetroArch settings keep resetting? Learn how to save retroarch.cfg, identify overrides, fix read-only storage, and preserve controller and core settings.

You change a hotkey, video option, controller setting, or save directory in RetroArch, restart the program, and discover that everything has returned to the old values. This usually does not mean RetroArch is broken. In most cases, the setting was saved to the wrong configuration layer, the main configuration file could not be written, or a more specific override replaced the global value when a game loaded.

This guide explains how RetroArch saves settings, how to identify the file that is taking priority, and how to fix read-only storage without deleting a working setup.

First: Understand Where RetroArch Saves Settings

RetroArch does not keep every setting in one place. It can load several configuration layers, each with a different purpose:

  • retroarch.cfg: the main global configuration.
  • Core override: settings applied whenever a particular emulator core is used.
  • Content directory override: settings applied to games loaded from one folder.
  • Game override: settings applied only to one game.
  • Remap files: controller changes stored separately from general overrides.
  • Core options files: emulator-specific options, such as console model or region.
  • Shader presets: visual filter settings saved through their own menu.

The more specific layer wins. A game override can replace a folder, core, or global setting. This is why a global change may appear correct in the menu and then change as soon as you launch content.

Step 1: Test Whether the Main Configuration Can Be Written

Close any running game and return to the main RetroArch menu. Change one harmless option that is easy to recognize. Then open Main Menu → Configuration File and select Save Current Configuration.

Watch the notification at the bottom of the screen. A successful save normally displays the path to retroarch.cfg. Write down or photograph that path. It tells you which configuration file the current installation is actually using.

Quit RetroArch through Main Menu → Quit RetroArch, reopen it, and check the option. Avoid force-closing the application or turning off a handheld immediately after making changes. Some builds save configuration during a normal exit.

Step 2: Check “Save Configuration on Quit”

Under Settings → Configuration, look for Save Configuration on Quit. When enabled, global changes are written when RetroArch exits normally. When disabled, use Save Current Configuration manually after making global changes.

Automatic saving is convenient, but manual saving is safer while troubleshooting because it prevents experimental changes from replacing a known-good setup. Make one change, save, restart, and verify it before continuing.

Step 3: Look for an Override That Is Replacing Your Setting

If the setting survives a restart but changes when a game starts, an override is the most likely cause. Load the affected game, open the Quick Menu, and inspect Overrides.

What happensLikely causeWhere to check
Setting resets after restarting RetroArchMain config was not saved or is read-onlyMain Menu → Configuration File
Setting changes only after loading one coreCore overrideQuick Menu → Overrides
Only games in one folder are affectedContent directory overrideQuick Menu → Overrides
Only one game is affectedGame overrideQuick Menu → Overrides
Only controller buttons changeRemap fileQuick Menu → Controls → Manage Remap Files
Only emulator-specific behavior changesCore options fileQuick Menu → Core Options

Once an override exists, later changes for that core or game should be saved through the Quick Menu at the appropriate level. Do not repeatedly overwrite the global configuration to solve a game-specific problem.

Step 4: Fix Read-Only or Unwritable Storage

If RetroArch reports that it cannot save the configuration, the folder containing retroarch.cfg may be read-only or unavailable. Common causes include:

  • A locked or failing microSD card.
  • A configuration directory owned by an administrator account.
  • An Android folder that the app cannot access under current storage rules.
  • A Flatpak or package installation pointing to a system directory.
  • A firmware image that protects parts of its filesystem.
  • Corruption caused by removing power while the card was being written.

Before changing permissions or moving folders, back up the entire RetroArch configuration directory. On a retro handheld, also back up the microSD card. Our guide to backing up and cloning a retro handheld microSD card explains a safer method.

After the backup, confirm that the destination folder is writable. On desktop systems, use a configuration directory inside your user account rather than a protected application folder. On Android, select a location that RetroArch has permission to access. On a handheld firmware image, use the configuration tools provided by that firmware instead of changing Linux permissions blindly.

Step 5: Confirm the Correct Configuration File Is Loading

Multiple RetroArch installations can exist on the same device. A standalone build, Steam version, Flatpak package, and handheld frontend may each use a different retroarch.cfg. Editing a file that the current build never loads has no effect.

Use the path displayed after Save Current Configuration as your reference. If you edit the file manually, close RetroArch first so the application does not overwrite your changes when it exits. Keep a copy of the original file and change only the setting you understand.

Step 6: Separate Controller Remaps from General Settings

Controller mappings are a frequent source of confusion because input remaps are stored separately from general overrides. If buttons are wrong only in one core or game, open Quick Menu → Controls → Manage Remap Files. Save or remove the relevant core, content directory, or game remap there.

If the physical controller is wrong everywhere, fix the global input mapping instead. Follow our RetroArch controller mapping guide to choose the correct layer. Configure shortcuts separately using the RetroArch hotkeys guide.

Step 7: Use a Clean Configuration as a Diagnostic Test

If you still cannot find the cause, do not delete the original configuration. Close RetroArch, back up retroarch.cfg, and temporarily rename it. Start RetroArch so it can create a clean configuration, then test one setting.

  1. If the clean configuration saves correctly, the original file or one of its referenced paths is probably the problem.
  2. If the clean configuration also fails, the installation location, permissions, storage device, or firmware is more likely responsible.
  3. Restore the backup before copying individual settings into the new file.

This test resets the interface temporarily, so record your important directory paths first. Never perform it without a backup, especially on a preconfigured handheld.

Common Mistakes to Avoid

  • Editing retroarch.cfg while RetroArch is still open.
  • Using a global change to fix only one game.
  • Assuming controller remaps are stored in ordinary override files.
  • Force-closing the application before it writes changes.
  • Editing the configuration from a different RetroArch installation.
  • Changing file permissions without backing up the SD card.
  • Deleting every override when only one game file is responsible.

A Safe Troubleshooting Order

  1. Back up the configuration folder or microSD card.
  2. Close running content and save the current configuration manually.
  3. Restart RetroArch and test a global option.
  4. Load the affected game and check whether an override changes it.
  5. Inspect remap files separately for controller problems.
  6. Confirm the saved configuration path and folder permissions.
  7. Use a temporary clean configuration only as a final diagnostic step.

Final Advice

When RetroArch does not save a setting, start by identifying which layer owns that setting. Global options belong in retroarch.cfg, game-specific changes belong in overrides, controller layouts belong in remap files, and emulator behavior belongs in core options. Save through the correct menu, exit normally, and keep a backup before touching storage permissions.

Official References

Leave a Reply

Your email address will not be published. Required fields are marked *