Question abour auto-saves of Shaders

Hello to all,

I have a dozen playlists, a few of those are “Handhelds” and the other ones are “TV consoles”

I only want shaders for my handhelds cores, for example, the Gambatte core would have the “shaders\shaders_cg\handheld\console-border\dmg-3x.cgp” one. Then I press the “Save Core Preset” in ordre to load this shader everytime I want to play a game on Gambatte.

I know that the video_shader line on retroarch.cfg will be updated.

The problem is that I don’t want shaders with my NES, Snes, Genesis, PC Engine, N64… cores. And everytime I play on Gambatte, it loads the shader that is saved on Cores\Presets folder. And then will update video_shader line on retroarch.cfg. So everytime I will load any other core, it will load with the shader that is saved on the video_shader line. And I don’t really want to play N64 on a Game Boy screen !

I never knew how to make retroarch not auto filling the video_shader line, I’m out of solution !

So the question is simple, how to make a shader to load only for the core I want and not the others ?

Thanks !

My solution - go to each core that you don’t want a shader for. Change ‘shader passes’ to 0, then ‘save core preset’. It should now always reset to 0 shaders every time that core loads.

Sometimes the shader presets will fail to save with 0 passes, in which case you can do a single pass of stock.cg/glsl/slang instead and it will be able to save it.

Another strategy is to add “video_shader_enable = false” to your other overrides.

1 Like

I have the same problem as OP and none of your suggestions worked. When loading a stock shader (both cg and glsl) and then trying to save that as the core preset throws a “can’t save core preset” error, and I changed my mupen64plus cfg (the specific core I want to disable shaders for) to “video_shader_enable = false” to no avail. Any other suggestion?

Can you post a log of it failing to save the stock shader preset?

EDIT: Nevermind what I wrote below, I’m still new to these forums and I’m not sure what the rules are about editing posts so for now I’m just leaving it there. Turns out it was an override blocking my Mupen64 settings. I’ve since reverted everything back and after meddling with it some more it looks like I’ve fixed it for now (knocks on wood). Since it kept throwing an error when trying to save a configuration for a shader with 0 passes or the stock.glsl I tried to do it manually writing a file in the shaders/presets folder and so far it seems to be doing the trick, I’ve been able to freely switch between cores and those that I can’t use any shader with (Mupen64Plus and Beetle PSX HW) are working with the stock shader applied.

You’ve asked for a log. How can I do that? I googled it and saw something about a command line, but I’m at a loss.

Original post: Thanks for the reply, but in the meantime I think I broke something. I was messing with the Settings > Configuration options, trying to disable the “automatically apply the shader settings from the last core”. I have now reverted back to the original settings and for most cores it seems to be working, but Mupen64Plus in particular continues to load up a specific shader and not the last one used. The problem is that loading any kind of shader with that core completely nullifies the video, to the point that even the Retroarch menu doesn’t show up, so I can’t change anything. In the past I would load up another core, disable the shader in that one, and then Mupen would load without a shader, but now that doesn’t work anymore. I’ve tried making changes in the core cfg file but it doesn’t seem to work. Any ideas?

I’m honestly losing my mind over this, lost count to the hours I’ve wasted so far on something that should be so easy to fix. When it works Retroarch is amazing, but when it doesn’t it’s honestly one of the most frustrating pieces of software I’ve ever used.

You can get a log by launching from a command line like this: retroarch.exe --verbose --log-file=log.txt

Just launching with --menu --verbose will also print errors to the console window, if you don’t feel like dealing with a file-based log.

1 Like