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

    crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come)

    Scheduled Pinned Locked Moved Ideas and Development
    crt-pi shadercrt-picrt-pi-verticalshaderslr-mame2003
    385 Posts 42 Posters 264.7k 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.
    • P
      pirossi @dankcushions
      last edited by pirossi

      @dankcushions said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):

      @pirossi is that a fbalpha or mame2003 cfg for 3countb? you only pasted a bit of the cfg.

      for fbalpha, mine is generated via windows 7 as

      # Auto-generated crt-pi.glslp .cfg
      # Place in /opt/retropie/configs/all/retroarch/config/FB Alpha/
      video_shader_enable = "true"
      video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp"
      # To avoid horizontal rainbow artefacts, use integer scaling for the width
      aspect_ratio_index = "22"
      custom_viewport_width = "1600"
      custom_viewport_height = "1200"
      custom_viewport_x = "160"
      custom_viewport_y = "0"
      

      for mame2003 i get:

      # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/
      video_shader_enable = "true"
      video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp"
      # To avoid horizontal rainbow artefacts, use integer scaling for the width
      aspect_ratio_index = "22"
      custom_viewport_width = "1600"
      custom_viewport_height = "1200"
      custom_viewport_x = "160"
      custom_viewport_y = "0"
      

      (the same, as expected)

      i don't know what else to suggest. you definitely have the latest version of the script from git? you need the whole repo in a directory: https://github.com/dankcushions/crt-pi-configs

      yes i have lastest version, i dont know why generates Other results than yours. It's very weird

      You u can upload for could generate them and put them on the front page? 1290x1200 16:10
      I am desperate and it seems to me an excellent job.

      By the way my operating system is windows 7 pro 32 bits, maybe it's ready for 64bit?0_1490115194379_fallo.png
      But same erratic values for mame cfgs.. in all cfgs

      EDITED

      Another 2 colleague of spanish forum made me the favor of generating cfg's in windows10 64bits, with my resolution and the same result as mine, erratic values.
      And another with windows 7 ultimate and it also comes out like me with cfg failure

      1 Reply Last reply Reply Quote 0
      • RiverstormR
        Riverstorm
        last edited by

        @pirossi - I just downloaded it from scratch using Python 3.6.1rc1 and it is working fine.

        EDITED

        Another 2 colleague of spanish forum made me the favor of generating cfg's in windows10 64bits, with my resolution and the same result as mine, erratic values.
        And another with windows 7 ultimate and it also comes out like me with cfg failure

        I just downloaded it from scratch. Using Windows 10 64-bit & Python 3.6.1rc1 x86-64 embeddable zip @ 1900x1200 and it looks good as far as I can see. That's the config for 3countb.

        # Auto-generated crt-pi.glslp .cfg
        # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/
        video_shader_enable = "true"
        video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp"
        # To avoid horizontal rainbow artefacts, use integer scaling for the width
        aspect_ratio_index = "22"
        custom_viewport_width = "1600"
        custom_viewport_height = "1080"
        custom_viewport_x = "160"
        custom_viewport_y = "0"
        
        P 1 Reply Last reply Reply Quote 1
        • P
          pirossi @Riverstorm
          last edited by pirossi

          @Riverstorm
          thank you very much!!
          I installed python 3.6 and now everything works correctly !!!!

          now super! 1920x1200
          Thank you very much partner !!
          The problem was given by python 2.7 without a doubt!

          RiverstormR 1 Reply Last reply Reply Quote 1
          • RiverstormR
            Riverstorm @pirossi
            last edited by

            @pirossi said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):

            @Riverstorm
            thank you very much!!
            I installed python 3.6 and now everything works correctly !!!!

            now super! 1920x1200
            Thank you very much partner !!
            The problem was given by python 2.7 without a doubt!

            That's great. At a minimum we know 3.6 does work as some syntax or command is processing differently than intended but we know it's somewhere between 2.7 and 3.6.

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

              neat, thanks for figuring it out, both! i've added the python version requirement in the readme. i think someone else had a similar issue earlier on in the thread when they were running the script locally and it did weird stuff. here i'm on 3.5.2.

              i'd never written a line of python before this script so it's possible i've used a bunch a of 3.x python stuff when i didn't need to. python seems to have a lot of different ways of doing the same things! i'm not sure i really like it, but it seemed like the popular way to do this sort of thing.

              RiverstormR 1 Reply Last reply Reply Quote 0
              • RiverstormR
                Riverstorm @dankcushions
                last edited by

                @dankcushions said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):

                i'd never written a line of python before this script so it's possible i've used a bunch a of 3.x python stuff when i didn't need to. python seems to have a lot of different ways of doing the same things! i'm not sure i really like it, but it seemed like the popular way to do this sort of thing.

                No complaints here! It's a great script and works perfectly. I'm grateful you did write it regardless as our gaming experience is much improved for it. :)

                I never think of it as an exact science but more of an art as there's so many ways to do the same thing in any language, some guys get crazy creative but it seems each programmer almost develops a specific style that becomes recognizable. You can always tweak the script here and there as you see an improvement in code or feature. It's really a nice script for never writing in Python before.

                1 Reply Last reply Reply Quote 0
                • E
                  EvilDindon
                  last edited by

                  Best post.

                  Everyone NEED to download these config files. The result on mame is so more accurate (especially for vertical games).

                  Thanks a lot man !

                  I have a question regarding consoles : why do you need to create cfg files ? For example, NES is displayig always the same resolution for every game isn't it ? (256x240), so, a global cfg file shouldn't just do it ?

                  Cheers from France,

                  Mike.

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

                    @evildindon thanks! and yes, for nes it's just a single cfg file, rather than per-game. have a look inside the .zip :)

                    1 Reply Last reply Reply Quote 0
                    • E
                      EvilDindon
                      last edited by EvilDindon

                      Oh I see.

                      And what is the improvement in your cfg file over the global "crt-pi" shader that can be applied in the configaration editor ?

                      I thought integer scaling was just needed for vertical oriented games ?

                      Never mind just read your post : integer scaling benefits on horizontal games too ;)

                      1 Reply Last reply Reply Quote 1
                      • GreenHawk84G
                        GreenHawk84
                        last edited by GreenHawk84

                        What if I want to use these .cfgs at the same time I am doing custom bezels which also use .cfgs? Top requested arcade games for overlays

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

                          @greenhawk84 said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):

                          What if I want to use these .cfgs at the same time I am doing custom bezels which also use .cfgs? Top requested arcade games for overlays

                          the overlays would have to adapted to the new resolutions so any current overlays wouldn't be valid.

                          GreenHawk84G 1 Reply Last reply Reply Quote 0
                          • GreenHawk84G
                            GreenHawk84 @dankcushions
                            last edited by GreenHawk84

                            @dankcushions I actually enabled crt.pi when using a 1920x1080 sidebar bezel. I noticed slowdown! I'm thinking all this is taxing the pi3.

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

                              @greenhawk84 said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):

                              @dankcushions I actually enabled crt.pi when using a 1920x1080 sidebar bezel. I noticed slowdown! I'm thinking all this is taxing the pi3.

                              yep, it definitely can - for example, with lr-gen-plus-gx (genesis), lr-fceumm (nestopia). i didn't notice any slowdown in lr-mame2003 or lr-fbalpha, but it is certainly possible if a game hammers the system bus enough.

                              1 Reply Last reply Reply Quote 0
                              • GreenHawk84G
                                GreenHawk84
                                last edited by

                                I was playing Street Fighter 2: CE (FBA) and Mortal Kombat 2 (Mame2003) with a side bezel and crt.pi. It seemed to run jittery.

                                1 Reply Last reply Reply Quote 0
                                • A
                                  AndrewH
                                  last edited by

                                  I've run into a bit of a problem with this... running the script for 1600 x 1200, I get output like the following for horizontal games :

                                  # Auto-generated crt-pi.glslp .cfg
                                  # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/
                                  video_shader_enable = "true"
                                  video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp"
                                  # To avoid horizontal rainbow artefacts, use integer scaling for the height
                                  aspect_ratio_index = "22"
                                  custom_viewport_width = "1600"
                                  custom_viewport_height = "1568"
                                  custom_viewport_x = "0"
                                  custom_viewport_y = "-184"
                                  

                                  The command line I used was
                                  python crt_pi_configs.py mame2003 1600 1200

                                  Vertical games seem to have the height correctly set at 1200. I just fetched the script and resolution_db from github last night, so it should be the latest.

                                  Any suggestions?

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    AndrewH
                                    last edited by

                                    Actually, some of the vertical games seem a bit off too;

                                    # Auto-generated crt-pi-vertical.glslp .cfg
                                    # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/
                                    video_shader_enable = "true"
                                    video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi-vertical.glslp"
                                    # To avoid horizontal rainbow artefacts, use integer scaling for the width
                                    aspect_ratio_index = "22"
                                    custom_viewport_width = "1120"
                                    custom_viewport_height = "1200"
                                    custom_viewport_x = "240"
                                    custom_viewport_y = "0"
                                    

                                    The game looks way wider than it should.

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

                                      @andrewh you need to tell me the specific games these example .cfgs are for or they don't mean much, i'm afraid.

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        AndrewH @dankcushions
                                        last edited by

                                        @dankcushions Sorry about that - of course, you're right.

                                        In the interim, I've done some more testing and investigating.
                                        First, it seems I'm bad at following instructions. When I checked, I realised I'd run the script using Python 2.7.
                                        Running the script with Python3 appears to correct (or improve) the problem with horizontal games;

                                        Bubble Bobble (Python 2.7)

                                        # Auto-generated crt-pi.glslp .cfg
                                        # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/
                                        video_shader_enable = "true"
                                        video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp"
                                        # To avoid horizontal rainbow artefacts, use integer scaling for the height
                                        aspect_ratio_index = "22"
                                        custom_viewport_width = "1600"
                                        custom_viewport_height = "1568"
                                        custom_viewport_x = "0"
                                        custom_viewport_y = "-184"
                                        

                                        Bubble Bobble (Python 3.4)

                                        # Auto-generated crt-pi.glslp .cfg
                                        # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/
                                        video_shader_enable = "true"
                                        video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp"
                                        # To avoid horizontal rainbow artefacts, use integer scaling for the height
                                        aspect_ratio_index = "22"
                                        custom_viewport_width = "1600"
                                        custom_viewport_height = "1120"
                                        custom_viewport_x = "0"
                                        custom_viewport_y = "40"
                                        

                                        R-Type (Python 2.7)

                                        # Auto-generated crt-pi.glslp .cfg
                                        # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/
                                        video_shader_enable = "true"
                                        video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp"
                                        # To avoid horizontal rainbow artefacts, use integer scaling for the height
                                        aspect_ratio_index = "22"
                                        custom_viewport_width = "1600"
                                        custom_viewport_height = "1536"
                                        custom_viewport_x = "0"
                                        custom_viewport_y = "-168"
                                        

                                        R-Type (Python 3.4)

                                        # Auto-generated crt-pi.glslp .cfg
                                        # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/
                                        video_shader_enable = "true"
                                        video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp"
                                        # To avoid horizontal rainbow artefacts, use integer scaling for the height
                                        aspect_ratio_index = "22"
                                        custom_viewport_width = "1600"
                                        custom_viewport_height = "1280"
                                        custom_viewport_x = "0"
                                        custom_viewport_y = "-40"
                                        

                                        But for vertical games, some still appear wider than they should - almost square;

                                        1941

                                        # Auto-generated crt-pi-vertical.glslp .cfg
                                        # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/
                                        video_shader_enable = "true"
                                        video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi-vertical.glslp"
                                        # To avoid horizontal rainbow artefacts, use integer scaling for the width
                                        aspect_ratio_index = "22"
                                        custom_viewport_width = "1120"
                                        custom_viewport_height = "1200"
                                        custom_viewport_x = "240"
                                        custom_viewport_y = "0"
                                        

                                        Bomb Jack

                                        # Auto-generated crt-pi-vertical.glslp .cfg
                                        # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/
                                        video_shader_enable = "true"
                                        video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi-vertical.glslp"
                                        # To avoid horizontal rainbow artefacts, use integer scaling for the width
                                        aspect_ratio_index = "22"
                                        custom_viewport_width = "1120"
                                        custom_viewport_height = "1200"
                                        custom_viewport_x = "240"
                                        custom_viewport_y = "0"
                                        
                                        dankcushionsD 1 Reply Last reply Reply Quote 0
                                        • A
                                          AndrewH
                                          last edited by

                                          Some more testing - I ran the script on my other system (1280 x 1024)

                                          1941 - Old cfg file, probably downloaded from this thread;

                                          # Auto-generated crt-pi-vertical.glslp .cfg
                                          # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/
                                          video_shader_enable = "true"
                                          video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi-vertical.glslp"
                                          # To avoid horizontal rainbow artefacts, use integer scaling for the width
                                          aspect_ratio_index = "22"
                                          custom_viewport_width = "672"
                                          custom_viewport_height = "1024"
                                          custom_viewport_x = "304"
                                          custom_viewport_y = "0"
                                          

                                          1941 - newly generated cfg file - looks too wide;

                                          # Auto-generated crt-pi-vertical.glslp .cfg
                                          # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/
                                          video_shader_enable = "true"
                                          video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi-vertical.glslp"
                                          # To avoid horizontal rainbow artefacts, use integer scaling for the width
                                          aspect_ratio_index = "22"
                                          custom_viewport_width = "896"
                                          custom_viewport_height = "1024"
                                          custom_viewport_x = "192"
                                          custom_viewport_y = "0"
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • dankcushionsD
                                            dankcushions Global Moderator @AndrewH
                                            last edited by dankcushions

                                            i should probably have something in the script that checks for python version, sorry.

                                            @andrewh said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):

                                            But for vertical games, some still appear wider than they should - almost square;

                                            bear in mind that the script uses an integer scale on the X axis for vertical games to reduce the scanline scaling artifacts. in almost all cases they will be wider or narrower than before - that's just how it solves the problem.

                                            so for example for bomb jack, it has a native X resolution of 224, and a native aspect ratio of 3:4. the script will pick the closest it can get to 3:4, whilst maintaining the integer scale, and using the full height of the screen. in your case, that's 1120(5x 224) x 1200.

                                            896 (4x) x 1200 resolution will be further from 3:4 than what the script is generating.

                                            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.