Global config override

Let’s say I made an override config for SNES that constain this string video_shader = “:\shaders\myshader.cgp”

When I launch SNES game, override config will be used and the video_shader will be changed in retroarch.cfg, which means that this shader will now be used for every core that doesn’t have its own override config.

Is there any way to make some kind of a global override config that will contain the string video_shader = “:\shaders\myshader2.cgp” and be used for every core that doesn’t have an override config?

You’re describing the main retroarch.cfg :stuck_out_tongue:

Whatever you put there will be applied to any core that isn’t explicitly overriding that option.

But once I run a SNES game, video_shader = “:\shaders\myshader.cgp” from the override config gets written into retroarch.cfg, making any other core that don’t have its own override use the same shader.

I think you can just enable Configurations Per-Core, launch the game, configure the Video and Shader settings. It will save as something like snes9x_next_libretro.dll.cfg in the \config directory.

Then disable Configurations Per-Core option so it doesn’t continue to make new overrides with other cores.

I’m not sure I fully understand this but this is my 2cents,

If you want all cores to use the same shader you set the shader required without any cores loaded. (Retroarch.cfg) if you want a specific core (SNES) to use a different shader then you create an override .cfg for that core. You shouldn’t need “per core configs” enabled. Just “load overrides automatically”

Are you saying that once you load up a core that has an override .cfg the override options save to your retroarch.cfg? So the next core you load without an override file has the settings of the previous cores overrides?

Yes, that’s correct. However, shaders are a little weird in that they get saved back to the retroarch.cgp preset, so it can make them hang around after they should. This shouldn’t bet a problem if you have them explicitly selected in the cfgs, though.

We are gonna have per-core/per-game shaders soon :wink: :wink:

Per-core configs and overrides are different features.

Per-core configs:

  • fully automatic
  • complete independent config for every single core
  • config loads when the core is loaded (actually I think when content is loaded)
  • config saves on content close (I think)

Overrides:

  • manual
  • only needs a few lines for each core, ideal for replacing shaders or overlays or enabling that one pesky setting that doesn’t work with other cores
  • blocks config save on exit, if you want a global change doit before loading a core that has an override
  • tested thoroughly

Edit: oh well, I didn’t expect this to happen so soon but it seems per-core configs are going the way of the dodo because they are really problematic for us.