I agree with you, there is some mismatch with shaders inside Batocera, but it should not date from this version.
I think more, it is something staying from before bigbang time.
I made the same experience that shadersconfiguration files are stored in "share_init" but not the shaders, this last dont move.
But lets begin with the shaders, in general when you call them from Retroarch, there are 2 options
- You call existing shaders inside "share_init/shaders/" or
-You call own shaders that you store somewhere under "/recalbox/share/myshaders/" Some shaders are not in the set, like a horiz.flip shader for mirrored Taito mame games.
Ok, after choosing your shader(s) wherever you want, in Retroarch, for saving your configuration, again 2 options, forget preset.
-You save with "Override core configuration" means that for all games in this core the configuration is applied, or
-You choose "Override game configuration" and just for this single game the configuration is used and also instead of an existing "Override core configuration" the single game configuration is used.
The error is, because in Batocera, if you define a single game override he never find the datas because retroarch dont search for them inside "share_init"
I made the following and corrected it by hand and by myself.
First thing after saving is, that Retroarch creates 2 sorts of files. I take mame2003 as exemple.
- In "system/.config/retroarch/config appears an directory mame2003.
- Inside mame2003 Retroarch has created a file called "mame2003.cfg" in the case of a core overide, or
inside you find a file with the name of your single game "game.cfg" for every game.
- In this (both) Configuration files you will find a line
video_shader = "~/.config/retroarch/config/retroarchcustom.glslp"
This is the second error ! Because naming all shader configuration files with retroarchcustom.glslp in the same location will mix everything up !
So, by hand you should change it (in mame2003 exemple)
- As global core override mame2003.cfg this line into
video_shader = "~/.config/retroarch/config/mame2003/mame2003.glslp" and as single game override
video_shader = "~/.config/retroarch/config/mame2003/game.glslp" and move the corresponding GLSLP files into the folder /mame2003 together with the CFG files
It can be that the video_shader line is not existing at all !!!
Then you must put this line in the .cfg files under
video_shader_enable = "true"
From now on, no mixup possible anymore. And in the recuperated and renamed GLSLP files you will find the correct path to the shaders that you wanted.
If you make this by hand, as long as your /shader folder is untouched, you will have no problems.