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

Which shader/video filter setting for Atari 7800?



  • Any recommendations?
    I'd like to extend my Atari 7800 retroarch.cfg and apply some video filter/shader settings which considerably, not to say quite extremely blur the image on games.
    On-default it's so blocky.

    I tried these but i see no any change:
    https://retropie.org.uk/forum/topic/20024/slang-shaders-configurations-for-each-system/2

    Any ideas/recommendations?



  • Hmm - meanwhile I came across this folder here:

    /retropie/configs/all/retroarch/shaders
    

    Is there a way to use these, respectively can I tell the Atari 7800 emulator somhow to use them?

    EDIT:
    This is how my retroarch.cfg for the Atari 7800 looks right now:

    # Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
    
    input_remapping_directory = "/opt/retropie/configs/atari7800/"
    
    audio_volume = "-10.000000"
    Video_smooth = "true"
    
    video_shader_enable = "true"
    video_shader = "~/.config/retroarch/shaders/color/palm-color.glslp"
    
    #include "/opt/retropie/configs/all/retroarch.cfg"
    

    I chose an (think so) extra flashy shader, however I can see no any difference.



  • OK guys I got it to work and I'd like to share it with you.
    No idea which of the lines are actually mandatory and which not, but anyway it works, e.g. with this CRT filter:

    # Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
    
    input_remapping_directory = "/opt/retropie/configs/atari7800/"
    
    audio_volume = "-10.000000"
    Video_smooth = "true"
    
    auto_shaders_enable = "true"
    input_shader_next = "m"
    input_shader_prev = "n"
    
    video_shader_dir = "~/.config/retroarch/shaders"
    video_filter_dir = "default"
    video_shader_enable = "true"
    video_shader = "~/.config/retroarch/shaders/crt-pi-vertical.glsl"
    
    #include "/opt/retropie/configs/all/retroarch.cfg"
    
    

  • Global Moderator

    @TimZett Thank you for sharing the solution. Most likely, the lines needed are

    auto_shaders_enable = "true"
    video_shader = "~/.config/retroarch/shaders/crt-pi-vertical.glsl"
    

    This can be also be done directly from the RGUI, by saving the shader preset for the core, as described near the end of the doc page.



  • @mitu There must be something missing at yours - I just tried it and the filter isn't applied any longer.
    I will play around a bit and let you know later.

    By the way, do you know how to apply more than one filter at a time (cascading)?

    EDIT:
    Got it. This is all we need:

    video_shader_enable = "true"
    video_shader = "~/.config/retroarch/shaders/[Shader Filename]"
    

  • Global Moderator

    @TimZett RetroArch distributes Shader presets (.glslp) files which combine multiple shader passes with the parameters accepted by the shaders and can be loaded from the RGUI and then tweaked.
    Here's an example of such a preset (crt/gtu-famicon.glslp):

    shaders = 5
    
    shader0 = shaders/gtu-famicom/DAC_combined.glsl
    scale_type_x0 = source
    scale_x0 = 8.0
    scale_type_y0 = source
    scale_y0 = 1.0
    filter_linear0 = false
    frame_count_mod0 = 2
    float_framebuffer0 = true
    
    shader1 = shaders/gtu-famicom/lowPass.glsl
    scale_type_1 = source
    scale_1 = 1.0
    filter_linear1 = false
    frame_count_mod1 = 32
    float_framebuffer1 = true
    
    shader2 = shaders/gtu-famicom/combFilter.glsl
    scale_type_2 = source
    scale_2 = 1.0
    filter_linear2 = false
    frame_count_mod2 = 2
    float_framebuffer2 = true
    
    shader3 = shaders/gtu-famicom/scaleX.glsl
    scale_type_x3 = viewport
    scale_x3 = 1.0
    scale_type_y3 = source
    scale_y3 = 1.0
    float_framebuffer3 = true
    filter_linear3 = false
    
    shader4 = shaders/gtu-famicom/scaleY.glsl
    scale_type_x4 = source
    scale_x4 = 1.0
    scale_type_y4 = viewport
    scale_y4 = 1.0
    filter_linear4 = false
    float_framebuffer4 = true
    
    textures = nestable
    nestable = shaders/gtu-famicom/NesTable.png
    nestable_linear = false
    nestable_mipmap = false
    nestable_wrap_mode = clamp_to_border
    

    You can create your own presets - look in the shaders folder - or just add the shaders individually to the .cfg file with the same syntax as above.



  • Thanks mitu.

    Now for me the question is whether there is an overview available, about what each shader preset (.glsl) does and in case of a .glslp, what the individual (cascaded) shaders do.

    The preset file names, especially those of the .glslp ones, IMO are not really self-explaining in most cases.

    EDIT:
    I found something:
    http://emulation.gametechwiki.com/index.php/Shaders_and_Filters
    If you guys know something "better" or more official please share it



  • the crt vertical shader is especially for arcade games with a vertically oriented monitor. If you like the way it makes the Atari 7800 games, then go ahead and keep it, but you might just want to try the vanilla crt-pi shader instead.


  • Global Moderator

    @TimZett I think @dankcushions posted a link (maybe in another topic) to the Shader docs in Retropie's documentation - https://retropie.org.uk/docs/Shaders-and-Smoothing/.



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.