How to use a different shaders/overlays for each systems?

Hello everyone,

I’m still struggling a lot with this issue, I never really understand how to solve it. I have setup some shaders (grid) for my Game Boy games, and a specific overlay (Game Boy bezel with the red light).

Everything is working, but when I launch my Genesis games, it launches with the GB shaders and overlay… I would like to launch specific shaders and overlay with specific systems, but don’t know how to do it.

Pretty sure there’s something to do with “save new config” or something like that, but don’t know how to do it. Hope someone can help me. :slight_smile:

With your shaders all set up, go into the shader options and choose ‘save core preset’ and it will load that preset just for that core.

Thanks for your answer. During a game, in the quick menu, I have a shader option, but not “save core preset” option to do it.

Are you using a nightly/1.4.0? or an older stable?

1.3.6.

I just want to mention that “configutation per core” is off, and the "per-game option too (under "configuration, in the main menu).

The Save Core Preset should be within the Shaders options.

Quick Menu -> Shaders -> Save Core Preset

Hope that helps

Nope. I will try the latest 1.4.0 before going further, and I will be back there.

Ah, my bad. Didn’t see the post that you were on 1.3.6. I’m on a 1.4.0 nightly and the option is there,so I’m sure it will be available in 1.4.0 stable.

I will download and install the nightly too, so it will be there.

But, it means, it was impossible to do it before?

Thanks a lot for your help guys, I really appreciate your help and would like to thank you again.

You could sort of do it before with overrides, but it wasn’t always reliable because the current shader preset gets saved into ‘retroarch.cgp/slangp/glslp’ and that will take over on cores that don’t have something specific set up.

The core shaders are much more predictable.

First of all, thank you all for your help. With the latest version, it works perfeclty. I’ve found some nice overlay for GB, GG, Lynx etc… but why are they under the shader directory? For noobs like me, it’s not really logical to search under shader in order to find the handeld overlay… By the way, i will try to do a gallery with each borders in order to help people. Do you know if it exist or not?

The console-border shaders use a different mechanism from the overlays, which were originally intended just for use with touchscreen devices to provide inputs.

It would be pretty easy to modify the borders from those shaders to work with the overlay system instead, we just haven’t done it. Plus, we try to keep the overlays we ship fairly small, since mobile devices have to download them to get controls and we don’t want them to have to download 100 MB worth of borders just to get the gamepad controls.

Alright, I’ve tried with the latest Retroarch Version (1.4.0):

1.Launch a Game Boy game. 2.Go to menu, select shader, then choose a shader, and apply it. 3.Apply the shader, then “save core preset”.

Do exactly the same with Game Boy Color game = launch with the game boy shader, not the color one.

I did the same with the Sega Game Gear and Genesis: Genesis game are laucnhing with the Game Gear Bezel.

I will try again tomorrow morning.

You can use these split-up cores I made awhile back:

RetroArch will see them as entirely separate cores, so you can assign different core presets to them.

@anon24419061 @Hunterk: thanks again for your help.

So the solution is to use a different emulator for each system? I’m suprrised there’s no simple way to do it, for beginners like me. (just by renaming the file, for example, b

I will try your solution HunterK, with the lin kprovided. But it seems quite hard to do it: finding the file, then edit it! I’m so sorry to be annoying, but i really want to succeed!

Ok, i understand something:

genesis_plus_gx_sms_libretro.dll and genesis_plus_gx_gg_libretro.dll are the same core, but for 2 differents setup. And genesis_plus_gx_sms_libretro.info is the file I need to edit, right? Cause if I open the .dll in Notepad+, I have weird and unexploitable symbols.

just open the core’s libretro.c/pp: Here i’m lost: where’s this file? I believed I had to edit the .info file, alright?

BTW, i’m looking into https://github.com/libretro/RetroArch but can’t find where to download:

“You don’t need to decompile them, since the source is already available on github. If you have an android toolchain set up, you should be able to just go into the source tree and build it with the changes described in the OP.”

EDIT: https://buildbot.libretro.com/nightly/windows/x86_64/latest/ are the rigt source, alright?

If you downloaded the separated cores (the DLL files) and put them on the “Cores” folder, you just need to edit the playlist files (at the “Playlists”) folder.

There, you edit the systems you need to change, for example, in “Nintendo - Game Boy Color.lpl” you replace this: …"\Retroarch\cores\gambatte_libretro.dll" with this: …"\Retroarch\cores\gambatte_gbc_libretro.dll"

The same in Sega - Master System - Mark III.lpl: “genesis_plus_gx_libretro.dll” with “genesis_plus_gx_sms_libretro.dll” And Sega - Game Gear.lpl: “genesis_plus_gx_libretro.dll” with “genesis_plus_gx_gg_libretro.dll”

The playlist files (.LPL) can be easily edited on notepad.

After assigning the split cores (.DLL) for each system, you can then set the overlays/borders and apply them on the core preset.

2 Likes

Thanks, I understand now, except I haven’t any line with the core name (gambatte) in all my playlist, except when I launch a game, it creates automatically a line with gambatte inside:

DETECT FF31CC92|crc Nintendo - Game Boy Color.lpl D:\Applications\RetroArch\roms\Nintendo Game Boy Color\Aladdin (USA).gbc Aladdin (USA) D:\Applications\RetroArch\cores\gambatte_libretro.dll Gambatte

So, now, I just need to know how to do it for ALL the game, and not only the one I launch, cause 791 games to do, it will be hard.

If I succeed, I will do a tutorial for all the beginners like me, it will be useful I think.

You don’t need to do any editing of the info files or the source code. Those steps were for people trying to make their own split cores because I’m not going to do it again in the future.

I included the pre-edited info files in the zip. Just put them into your ‘core info’ directory and put the cores into your cores directory.

You can go to settings > playlists and associated a playlist with a core, such as gambatte-gbc, instead of doing it via text editor. it won’t be able to change it for games you have already loaded with a core, though, so you may want to delete your playlist and re-scan to have a fresh, unassigned playlist to work with.

Alright. I didn’t succeed. :frowning: (Am I dumb or what?)

I have my Nintendo - Game Boy Color.lpl and Nintendo - Game Boy.lpl in my playlist folder. In my cores folder: gambatte_gbc_libretro.dll and gambatte_libretro.dll. I just copy/paste the gambatte_libretro.dll and rename it to gambatte_gbc_libretro.dll, nothing more. I set up my GBC playlist to launch with gambatte_gbc_libretro.dll (it appears with this name). I set up my GB playlist to launch with Gambatte (this name appears).

So I guess i’ve done something wrong. I haven’t touched any .info file, for the moment.