Help understanding Retroarch behavior

Hi all, I am running Retroarch on a Raspberry Pi and I am trying to figure out why my game overrides get “wiped out” when I make changes through the GUI.

I have sf2.cfg containing the following in /opt/retropie/configs/all/retroarch/config/FB Alpha

# Auto-generated crt-pi.glslp .cfg
# Place in /opt/retropie/configs/all/retroarch/config/FB Alpha/video_shader_enable = "true"
video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp"
# To avoid horizontal rainbow artefacts, use integer scaling for the width
aspect_ratio_index = "22"
custom_viewport_width = "1536"
custom_viewport_height = "1080"
custom_viewport_x = "192"
custom_viewport_y = "0"
input_overlay = "/opt/retropie/emulators/retroarch/overlays/borders/MAME-Horizontal.cfg"

This works as expected specifying the bezel/shader settings for this game. But if I go into the GUI and make any changes, let’s say I change the bezel to a different one, then do a save game override, it wipes out the shader settings in the config and vice versa if I change the shader settings it wipes out the bezel settings. Any idea why this happens?

I should mention that I created the config file “manually” by taking the shader portion of the code from one file and the bezel code from another.

shaders aren’t saved reliably in config overrides. There’s a separate per-core/per-game preset that you should use instead.

I will look into that however I have thousands of .cfg files with shader settings that someone else made that I was hoping to use. They work, i just don’t like that if i decide to edit anything in the GUI it screws up the config instead of just modifying it with the new parameters. I actually think that it is overwriting the config with some of the settings from fbalpha.cfg which is located in the same directory. I guess that is a core override?

I’m not sure if RetroPie acts any differently from us, but our overrides are all named for the core’s internal name. So, Nestopia’s would be Nestopia.cfg or whatever, rather than nestopia.cfg (that is, it’s based on what’s printed in the lower-left of the menu, rather than the name of the library itself).

EDIT: also, when a config override is loaded, options from the GUI are no longer saved, precisely to prevent polluting them. You have to save a new override for any GUI-changed settings to be written to file.