RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    RetroArch Mirror Mode

    Scheduled Pinned Locked Moved General Discussion and Gaming
    retroarchmirrortutorial
    16 Posts 6 Posters 2.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.
    • OneSwitchO
      OneSwitch
      last edited by

      I have one more question. I'm trying to layer a second shader to give nice scan lines on Space Invaders.

      I tried crt-pi-vertical.gls. If I use that as the second shader, it seems to be ignored. If I use it as the first shader, it gives a strange sickly effect. Would love to get both working well together if possible.

      mediamogulM 1 Reply Last reply Reply Quote 0
      • mediamogulM
        mediamogul Global Moderator @OneSwitch
        last edited by

        @OneSwitch said in RetroArch Mirror Mode:

        I tried crt-pi-vertical.gls. If I use that as the second shader, it seems to be ignored. If I use it as the first shader, it gives a strange sickly effect. Would love to get both working well together if possible.

        I'm afraid I don't have any experience with shader compatibility issues. Perhaps someone else may have some thoughts.

        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

        1 Reply Last reply Reply Quote 0
        • OneSwitchO
          OneSwitch
          last edited by

          Thanks @mediamogul - Best I've manged to get is using...

          shader No.0: image-adjustment.glsl
          shader No.1:scanline.glsl

          ...the crt-pi-vertical and crt-pi shaders that I'd prefer to be using look nasty when combined with the flipping image-adjustment.glsl shader (and cause quite jerky play too, I assume because of the extra work they cause the RetroPie).

          1 Reply Last reply Reply Quote 0
          • OneSwitchO
            OneSwitch
            last edited by

            Got the issue fixed here: https://github.com/libretro/glsl-shaders/issues/88

            Using Notepad++ on a PC, I saved the code below into a file (I called mine "image-adjustment2.glslp").

            Then used Filezilla to save it to the path configs\all\retroarch\shaders\presets\

            Then I'd load the game, go to shaders... load shader preset (image-adjustment2.glslp) .... apply changes .... shader parameters - flip vertical axis.... play. I believe that should work on a Taito Space Invaders quite nicely. Will try ASAP.

            shaders = "2"
            shader0 = "../misc/image-adjustment.glsl"
            filter_linear0 = "false"
            wrap_mode0 = "clamp_to_border"
            mipmap_input0 = "false"
            alias0 = ""
            float_framebuffer0 = "true"
            srgb_framebuffer0 = "false"
            scale_type_x0 = "source"
            scale_x0 = "1.000000"
            scale_type_y0 = "source"
            scale_y0 = "1.000000"
            shader1 = "../crt/shaders/crt-pi.glsl"
            filter_linear1 = "false"
            wrap_mode1 = "clamp_to_border"
            mipmap_input1 = "false"
            alias1 = ""
            float_framebuffer1 = "true"
            srgb_framebuffer1 = "false"
            parameters = "ia_target_gamma;ia_monitor_gamma;ia_overscan_percent_x;ia_overscan_percent_y;ia_saturation;ia_contrast;ia_luminance;ia_black_level;ia_bright_boost;ia_R;ia_G;ia_B;ia_ZOOM;ia_XPOS;ia_YPOS;ia_TOPMASK;ia_BOTMASK;ia_LMASK;ia_RMASK;ia_GRAIN_STR;ia_SHARPEN;ia_FLIP_HORZ;ia_FLIP_VERT;CURVATURE_X;CURVATURE_Y;MASK_BRIGHTNESS;SCANLINE_WEIGHT;SCANLINE_GAP_BRIGHTNESS;BLOOM_FACTOR;INPUT_GAMMA;OUTPUT_GAMMA"
            ia_target_gamma = "2.200000"
            ia_monitor_gamma = "2.200000"
            ia_overscan_percent_x = "0.000000"
            ia_overscan_percent_y = "0.000000"
            ia_saturation = "1.000000"
            ia_contrast = "1.000000"
            ia_luminance = "1.000000"
            ia_black_level = "0.000000"
            ia_bright_boost = "0.000000"
            ia_R = "1.000000"
            ia_G = "1.000000"
            ia_B = "1.000000"
            ia_ZOOM = "1.000000"
            ia_XPOS = "0.000000"
            ia_YPOS = "0.000000"
            ia_TOPMASK = "0.000000"
            ia_BOTMASK = "0.000000"
            ia_LMASK = "0.000000"
            ia_RMASK = "0.000000"
            ia_GRAIN_STR = "0.000000"
            ia_SHARPEN = "0.000000"
            ia_FLIP_HORZ = "1.000000"
            ia_FLIP_VERT = "1.000000"
            CURVATURE_X = "0.100000"
            CURVATURE_Y = "0.150000"
            MASK_BRIGHTNESS = "0.700000"
            SCANLINE_WEIGHT = "6.000000"
            SCANLINE_GAP_BRIGHTNESS = "0.120000"
            BLOOM_FACTOR = "1.500000"
            INPUT_GAMMA = "2.400000"
            OUTPUT_GAMMA = "2.200000"
            
            
            1 Reply Last reply Reply Quote 0
            • cellyC
              celly
              last edited by

              Really neat idea. I’m gonna try this later on a few games I know pretty well, and see how far I can throw a controller in rage.

              Currently Playing: Tetris (Gameboy)

              1 Reply Last reply Reply Quote 1
              • OneSwitchO
                OneSwitch
                last edited by

                One related question... Is it possible to do this sort of thing with Emulation Station? I.e. flip the screen horizontally so that you can play the game in a mirror on a CRT TV (either with Pi2Scart or composite 4:3 output)?

                I'm told RecalBox can do this, but I'd love to stick with the RetroPie set-up I know well in comparison.

                I've posted here too: ES Github issues

                mituM dankcushionsD B 3 Replies Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator @OneSwitch
                  last edited by

                  @OneSwitch said in RetroArch Mirror Mode:

                  I'm told RecalBox can do this

                  How exactly can it do this ?
                  Emulationstation does not have shader support, so what you're asking is not yet implemented.

                  1 Reply Last reply Reply Quote 0
                  • dankcushionsD
                    dankcushions Global Moderator @OneSwitch
                    last edited by

                    @OneSwitch why is this an ES issue? presumably once you've loaded the game, it's now a game issue. there doesn't seem much point in fixing it in ES if there's no a solution for the games as well. never mind if you load the command prompt/retropie-setup menu...

                    OneSwitchO 1 Reply Last reply Reply Quote 0
                    • B
                      barbudreadmon @OneSwitch
                      last edited by

                      @OneSwitch said in RetroArch Mirror Mode:

                      I'm told RecalBox can do this

                      Whoever told you this is probably saying crap. Afaik :

                      • the only thing you could do to ES is rotate it (by using the rpi firmware display_rotate config), which is different from flipping
                      • for flipping you'd need a compatible emulator (i don't think there are many apart from RA + shaders, and it wouldn't even affect RA's menu)

                      FBNeo developer - github - forum

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

                        @barbudreadmon said in RetroArch Mirror Mode:

                        the only thing you could do to ES is rotate it (by using the rpi firmware display_rotate config), which is different from flipping

                        EmulationStation (the RetroPie fork) has a --screenrotate option which allows you to rotate it - independent of any RPI configuration - https://github.com/RetroPie/EmulationStation/pull/348.

                        However, it doesn't do flipping (mirroring), that's why I'm curious if the Recalbox ES fork has any additional features like this - or if the mirroring to which @OneSwitch refers is done outside of ES.

                        EDIT: @OneSwitch there is another option - using Reshade. It's an external application that can apply shaders to DirectX/OpenGL externally. However, it's a Windows only application, so it's not going to work with RetroPie.

                        1 Reply Last reply Reply Quote 1
                        • OneSwitchO
                          OneSwitch @dankcushions
                          last edited by OneSwitch

                          @dankcushions said in RetroArch Mirror Mode:

                          is an ES issue? presumably once you've loaded the game, it's now a game issue. there doesn't seem much point in fixing it in ES if there's no a solution for the games as well. never mind if you load the command prompt/retropie-setup menu...

                          With HDMI, you can flip the screen horizontally (and I think vertically), to give an image of everything that will look the right-way around when viewed in a mirror.

                          With component/SCART output suitable for a CRT TV, you can use a RetroArch shader to get the image flipped and rotated so it works perfectly in a mirror too (see this forum post). This is good, but obviously, all the menus, the screensaver (easier to fix) and general RetroPie/ES menus are the wrong way around. It would be very nice to find a fix for that last piece of the puzzle.

                          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.