RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    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

    RetroArch 1.9.4 Shaders from .cfg's

    Scheduled Pinned Locked Moved Help and Support
    retroarchupdate1.9.4patchshader
    12 Posts 3 Posters 1.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • roslofR
      roslof
      last edited by roslof

      Hi @BuZz,

      I noticed that RetroPie now supports RetroArch 1.9.4, so I went ahead and updated the RetroPie Script and installed the new Retroarch package. FWIW, this is my first RetroArch update in about a year.

      After updating, I noticed that RetroArch is no longer changing shaders based on my pre-existing .cfg files; however using the RetroArch GUI changes shaders and save/load without issue. Everything else related to my configs seem fine.

      I remember in the past that this would occur if I ever experimented with RetroArch and did not use your custom shader patch. I did verify that you recently changed the patch to support the newer RetroArch, and was wondering if my new symptom is somehow related. I did confirm my 02_shader_path_config_enable.diff file matches your latest commit.

      No noticeable information in the log from /dev/shm/runcommand.log, other than it's using the default shader.

      [INFO] [GL]: Default shader backend found: glsl.
      [INFO] [Shader driver]: Using GLSL shader backend.
      [WARN] [GL]: Stock GLSL shaders will be used.
      

      Any thoughts?

      1 Reply Last reply Reply Quote 1
      • mituM
        mitu Global Moderator
        last edited by

        Post your config file and also a verbose log (on pastebin.com).

        roslofR 1 Reply Last reply Reply Quote 0
        • roslofR
          roslof @mitu
          last edited by roslof

          @mitu the verbose log won't yield anything of interest, and I can explain why.

          My config files reference other files that use the now defunct RetroArch video_shader option. Because it's not used, it doesn't appear in any log.

          Which brings me to what I believe the problem is:

          The RetroPie retroarch module script (patch #2) is trying to restore this legacy video_shader behavior, but it doesn't appear to be working anymore.

          I remember dealing with this before, and without the [convenient] patch, the workaround is to manually generate a bunch of reference files in /opt/retropie/configs/all/retroarch/config/

          Not ideal, but I've done it before. Can do it again. I had to write scripts that scanned all of my .cfg files, looked for the shader being used and generate compatible game files for each emulator. A true nightmare for the "arcade" games, but doable.

          I'm not at all a fan of RetroArch's decision to single out video_shader as being a problem (again, back with 1.7.8) but it is what it is. Have appreciated this patch up to this point.

          mituM 2 Replies Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @roslof
            last edited by

            @roslof said in RetroArch 1.9.4 Shaders from .cfg's:

            My config files reference other files that use the now defunct RetroArch video_shader option. Because it's not used, it doesn't appear in any log.

            Actually it should log something, when loaded, the fact that it doesn't means that - indeed - the patch is not working. I'll take a look, I remember I tested the patch with 1.9.2 and it worked.

            1 Reply Last reply Reply Quote 1
            • mituM
              mitu Global Moderator @roslof
              last edited by mitu

              Thanks for the report - it looks like the shader patch was incomplete for v1.9.4. We'll get it fixed.

              Not ideal, but I've done it before. Can do it again. I had to write scripts that scanned all of my .cfg files, looked for the shader being used and generate compatible game files for each emulator. A true nightmare for the "arcade" games, but doable.

              A few versions back, RetroArch has gained the ability to save a shader preset per-folder - you don't need to set presets for each game (for cores used in more than one system where 'save shader preset per core' is not practical).

              1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator
                last edited by

                Try updating the RetroPie-Setup script and re-install the retroarch package from source. See if the video_shader parameter behaves better with the updated version.

                roslofR 1 Reply Last reply Reply Quote 1
                • roslofR
                  roslof @mitu
                  last edited by roslof

                  @mitu said in RetroArch 1.9.4 Shaders from .cfg's:

                  Try updating the RetroPie-Setup script and re-install the retroarch package from source. See if the video_shader parameter behaves better with the updated version.

                  Thank you @mitu.

                  I updated the RetroPie script and confirmed that a new 02_shader_path_config_enable.diff file was downloaded.

                  I then rebuilt RA from source.

                  Unfortunately the video_shader option in cfg files is still not being read by RA.

                  Has me wondering if RA refactored code in this area.

                  mituM 1 Reply Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator @roslof
                    last edited by

                    @roslof Can you get a verbose log again ?

                    roslofR 1 Reply Last reply Reply Quote 0
                    • roslofR
                      roslof @mitu
                      last edited by roslof

                      @mitu said in RetroArch 1.9.4 Shaders from .cfg's:

                      @roslof Can you get a verbose log again ?

                      Yes, will do, but in the meantime, I found something...

                      If a global shader exists, the .cfg override for video_shader doesn't work.

                      If a global shader does not exist, the .cfg override for video shader works.

                      So the new patch is working. It was only masked by the Global Shader. Of course, the .cfg should override the Global Shader, but this shows the patch is otherwise good.

                      I'll generate a couple of verbose logs with each condition (have to get to my real job, but will come back).

                      mituM 1 Reply Last reply Reply Quote 0
                      • mituM
                        mitu Global Moderator @roslof
                        last edited by

                        @roslof said in RetroArch 1.9.4 Shaders from .cfg's:

                        If a global shader exists, the .cfg override for video_shader doesn't work.

                        Yes, this is normal/how the patch works. The video_shader is applied only when no other shader preset exists - it has the lowest priority of all, after global/core preset/content or game presets. We don't want the patch to override RetroArch's default behavior, hence the lower prioritisation.

                        roslofR 1 Reply Last reply Reply Quote 1
                        • roslofR
                          roslof @mitu
                          last edited by

                          @mitu said in RetroArch 1.9.4 Shaders from .cfg's:

                          Yes, this is normal/how the patch works. The video_shader is applied only when no other shader preset exists - it has the lowest priority of all, after global/core preset/content or game presets. We don't want the patch to override RetroArch's default behavior, hence the lower prioritisation.

                          In that case, everything is back to normal and I have removed my global shader.

                          Thank you, as always, Mitu for all the things.

                          busywaitB 1 Reply Last reply Reply Quote 0
                          • busywaitB
                            busywait @roslof
                            last edited by busywait

                            @roslof @mitu

                            Thanks for exploring this one - I assumed that my RetroPie upgrade had overwritten my retroarch.cfg files. The advice here has fixed my missing shaders in my install (a 64-bit Raspberry Pi OS install).

                            Running and updating the setup script, navigating
                            P Manage packages
                            C Core
                            43 Retroarch
                            U Re-install (from source)
                            has fixed the problem for me.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            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.