Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

General questions on applying shaders (video filters)



  • From what I see is that there are at least 3 places in retroarch where you can apply shaders or not:

    • First one is via the configuration editor, by configuring "default options for all libretro emulators".
    • Second one is also in the configuration editor, by configuring "additional options" for one or more specific emulators
    • Now where I get confused is when it comes to the third place: The in-game Retroarch menu.
      There is a Shaders menu, and when selected it offers loading and saving of shader presets based on a prior "Load Shader Preset".
      On saving you can choose between saving a "Core preset" or a "Game Preset".
      In both cases, a subfolder for the corresponding emulator is being created, containing either the global preset configuriation file, or the game-specific one, or both:
    ./configs/all/retroarch/shaders/presets
    

    When selecting a shader at the Configuration editor though, as a result the corresponding shader file is being stored in the respective (for an emulator or for All) retroarch.cfg file. Obviously the change is only being represented by one line:

    video_shader = "/opt/retropie/emulators/retroarch/shader/[Shader-Filename]"
    
    

    On the other hand, when selecting a shader from the in-game retroarch menu, in the resulting preset files there are some parameters depending on the previously chosen shader.

    How does that all go together?
    For me at least, when trying to assign a shader as described at my second point (as additional option for a specific emulator) I cannot see a difference, regardless which shader I choose.
    So do I need both configuration editor and in-game retroarch adaptations to apply a shader, or is it sufficient to use one of these, and if yes which one?


  • Global Moderator

    please see https://github.com/RetroPie/RetroPie-Setup/wiki/Shaders-and-Smoothing#installation - there's a second option to 'enable' shaders, as well as selecting them. i would just stick to the instructions on that page to be honest. the retroarch menu should rarely really be used in retropie.



  • @dankcushions I assume you refer to this:
    "You can select either preset via the Configuration editor. Choose Configure basic libretro emulator options, then choose a specific emulator or Configure default options for all libretro emulators to make the change system-wide. Then, set Video Shader Enable to true and then set Video Shader File to the desired shader."

    I have been to this site before as well and acted on that, and meanwhile I came a little closer to what my problem seems to be.
    This is an example from my Atari 2600 retroarch.cfg, after doing the changes according to the documentation above (your link):

    # Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
    
    input_remapping_directory = "/opt/retropie/configs/atari2600/"
    
    audio_volume = "-6.000000"
    
    video_shader_enable = "true"
    video_shader = "/opt/retropie/emulators/retroarch/shader/crt-pi-vertical.glslp"
    #include "/opt/retropie/configs/all/retroarch.cfg"
    

    Result: nothing actually. I can see no any changes to the image of the games.
    Now comes the interesting part: When instead of the .glslp file, I choose the related .glsl file, then it works (???).
    In that case, my .cfg looks like that - with this one simple change:

    # Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
    
    input_remapping_directory = "/opt/retropie/configs/atari2600/"
    
    audio_volume = "-6.000000"
    
    video_shader_enable = "true"
    video_shader = "/opt/retropie/emulators/retroarch/shader/crt-pi-vertical.glsl"
    #include "/opt/retropie/configs/all/retroarch.cfg"
    
    

    Can it be that the default settings of the .glslp files (I tried several ones) are so subtle that one doesn't see any difference and hence, their parameters first have to be tweaked in order to get a result?

    I really don't understand anymore what's going on.

    EDIT:
    The weirdest part is that one cannot choose .glsl files out of the Configuration Editor but instead, only .glslp ones.
    However, after my manual intervention seen in the last "code snippet" the corresponding entry with the file name (.glsl) is in fact shown in the Configuration Editor


  • Global Moderator

    the glslp has always worked before, but i'd have to test at my end.

    by the way, you won't want the vertical crt pi shader apart from in vertical MAME games. for consoles you'll want the standard crt-pi shader.



  • @dankcushions said in General questions on applying shaders (video filters):

    the glslp has always worked before, but i'd have to test at my end.

    by the way, you won't want the vertical crt pi shader apart from in vertical MAME games. for consoles you'll want the standard crt-pi shader.

    Yeah, would be cool if you could try to reproduce it.
    The vertical shader I just took for testing purpose, because it shows something significant ;-)
    Currently I'm using the bilinear (blur) shader since I find the Atari games in all emulators way too blocky.



  • @TimZett said in General questions on applying shaders (video filters):

    The vertical shader I just took for testing purpose, because it shows something significant ;-)
    Currently I'm using the bilinear (blur) shader since I find the Atari games in all emulators way too blocky.

    I use CRT + smoother for everything. Then again, the only stuff I really play on RetroPie is SNES and PS1.



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.