Help using shaders on Android RA MAME

So I have downloaded a bunch of shaders such as Sokun etc. When I navigate to the folder where they are in RA I just get a message: (i) no items. On the standard RA install some shaders show up but when I go into some folders I get the “no items” message. I looked in those places with a file manager and it is full of shader files. What do I need to do to get these working? I am confused as to why they don’t show up.

the default “gl” video driver works with *.glsl shaders only, while the other video drivers work with *.slang shaders.

If you use the ‘load preset’ entry from the shader menu, it will only show/load the shader preset files (that is, *.glslp or *.slangp) of the appropriate flavor.

Ok so how do I switch drivers to use the .slangp shaders?

settings > driver. Vulkan is the only one that’s available on Android.

When I go into settings> driver there are two options one is “gl” the other “vulkan”. It was set on gl as default. I can select some shaders and they show up and work. One is “retroarch.glsp”. That means that other glsp files should show I would think. I really don’t understand what is going on. Is there something else that I can check? Maybe RA needs these to be in a certain directory? I can’t transfer custom shaders where the other default ones are because Android hides that location.

Yeah, android permissions are a bummer. However, you can go to settings > directory and choose a new location that you can read/write to, then go to the online updater and update the slang shaders to populate the new location.

Ok thanks. I did that and that is better for access now. One other thing it seems some shaders are gl some only vulkan. Some systems have shaders that look good for that system and are in the gl set, others have shaders in the vulkan set that fit better. Is there a way to set gl or vulkan drivers on a per core setting? So maybe I would have Genesis games use a shader using a shader in the Vulkan set while Gameboy I may want a shader from the gl set. Can that be done or is it all one or all the other (without having to manually go in and set it back and forth depending on what you are playing).

Yes, you can set the video driver on a per-core basis using core overrides. Load the core and some content, go back into the menu, change the driver as you see fit, then go to quick menu > overrides > save core override.

Close content to completely clear out the core, then load it back up and it should be using the new video driver, at which point you can set your desired shader and make it load on a per-core/-game/-content-dir basis via the shader menu’s ‘save’ submenu.

Note: some cores require certain video drivers for their hardware renderers to work properly (e.g., mupen64plus-next’s GLideN64 renderer only works with OpenGL), so you won’t be able to change them.

Thanks. after doing all of this is there a way to back up all of these settings? Are there config files somewhere I can get to so I can copy to backup or are they hidden away in some locked away Android location?

they’re locked away since android v11. You can still get to them, though, by using a file browser that supports “storage providers”. IIRC, FX is one such, though I’ve never used it.