Understanding overrides

I want to have a universal configuration for Retroarch and use overrides for some systems that requires specific settings or personal preferences. It’s easy to save a shader per core or even per game, remap for specific games and cores as well, even custom view point or aspect ratio per game.

I have preference to using the best video driver possible, I’m current using Vulkan but will soon switch to GLcore when the shader loading is fixed.

Some cores only work with the GL driver and I can’t save this as an override for Reicast or Kronos, for example, I need to create a separate config for it to work.

Remaps works well, but the Input menu won’t be saved as overrides if I, again don’t create a separate config for that core. Am I’m missing something or the above can only be used as separate configurations instead of overrides?

That’s correct. Overrides don’t work for video drivers because the menu keeps the old driver and crashes the program if you try to re-enter the menu as the contexts no longer match.

Input stuff doesn’t work with overrides, either, which is why the remaps exist. There are some edge-case things that aren’t caught by the remaps, though, and for those things you need another config (or a config fragment for use with appendconfig)

1 Like

Got it! When you mention config fragment does that mean I can basically edit the complete appendconfig created when I hit “save new config” and keep only the settings I’d like changed, while the rest would be loaded from the main config?

Yeah, basically. However, when you append a config fragment, it will pollute your main config with the new values unless you disable ‘save config on exit’ (or, I guess you could disable it in the fragment…). Overrides take care of that automatically.

1 Like