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

    Using MAME Overlays/Bezels and shaders with RetroArch in RetroPie

    Scheduled Pinned Locked Moved General Discussion and Gaming
    124 Posts 29 Posters 129.1k 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.
    • RionR
      Rion @Floob
      last edited by Rion

      @Floob said in Using MAME Overlays/Bezels and shaders with RetroArch in RetroPie:

      @Rion Thats because those games are running in a multiple of their original res, limited only by integer_scaling.
      You could apply the overrides to these if you wanted.

      But i still have to manually edit them one by one in 1080p adding

      custom_viewport_width
      custom_viewport_height
      custom_viewport_x
      custom_viewport_y

      Or am I missing/misunderstood something?

      FBNeo rom filtering
      Mame2003 Arcade Bezels
      Fba Arcade Bezels
      Fba NeoGeo Bezels

      FloobF 1 Reply Last reply Reply Quote 0
      • FloobF
        Floob @Rion
        last edited by

        @Rion You only have to add the viewport settings if you want to specify exactly where and how large the video image should be.

        If you leave the defaults on, and enable interger_scaling it will only be a multiple of the original resolution.
        http://emulation-general.wikia.com/wiki/Scaling

        Obviously with MAME (as many games can be slightly different from one another) the end result will be slightly different (as opposed to consoles) but the end result is what the bezel was designed for, so its fine. You could specify the viewports for all the games, but as the native res (with multiplier) fits the bezel fine there is no need to specify on those (if you are on 1080p).

        Hope that makes sense.

        Please read the Docs before asking a new question.
        RetroPie Help Guides: https://goo.gl/3gcNsT

        RionR 1 Reply Last reply Reply Quote 0
        • RionR
          Rion @Floob
          last edited by

          @Floob I think i got it. Going to try some more.
          I'm building a retropie setup for my father in law and his tv is 720p only.

          All the overlays in 1080p fits like they should.

          FBNeo rom filtering
          Mame2003 Arcade Bezels
          Fba Arcade Bezels
          Fba NeoGeo Bezels

          1 Reply Last reply Reply Quote 0
          • H
            Higgy
            last edited by

            @Rion @Floob @pjft

            I think it best to concentrate our efforts on creating a script to convert the config files.
            Ignore a menu etc, we can just have a separate script to match the common resolutions.

            Creating the bezels is ok. I am sure I found a GIMP plugin that I could even run to do my re-size then cropping.

            I have a 1yr old at home so it is difficult getting the time to sit down and try and get my head around the Linux commands etc. Doing the simple but long winded way of modifying each config file was easier as I don't have to think :) ! - thinking about I I have forgotten which game I got to! Letter 'G' i think LOL!!

            I did find that files with no config seemed to fill up the screen and did not seem to scale as per Floob's comment, so I had to create them.

            @Rion - I will try and get the 'Not Done' files with resolution numbers added.

            I need to create 'Kung Fu Master' that does not seem to be on there!

            FloobF 1 Reply Last reply Reply Quote 1
            • FloobF
              Floob @Higgy
              last edited by

              @Higgy To clarify, if there is no per game config at all, there it will just run with the defaults, but if there is a per game config that has integer_scaling set to on, it will scale appropriately. The viewports are only needed if a multiple of the native res wont fit the bezel properly.

              Please read the Docs before asking a new question.
              RetroPie Help Guides: https://goo.gl/3gcNsT

              RionR H 2 Replies Last reply Reply Quote 0
              • RionR
                Rion @Floob
                last edited by

                @Floob

                Ok from what i found out today and this may sound stupid because i was using my Desktop to go over the files that did not contain

                custom_viewport_width = 
                custom_viewport_height = 
                custom_viewport_x = 
                custom_viewport_y = 
                

                I was using Retroarch 1.3.6 (stable) and i did not see this on my Desktop ( with a 1080p Monitor) even if the cfg file was named correctly and in the right "folders" Roms & Overlay, or using the exact same settings as the cfg file for reference.

                If a game for example After Burner 2 (aburner2.zip.cfg ) only contained these lines at the end of the cfg file.

                aspect_ratio_index = "0"
                video_scale_integer = true
                

                And i went in to the Settings->Video->

                The only thing showing was
                aspect_ratio_index = 4:3
                custom_viewport_x = 0
                custom_viewport_y = 0
                custom_viewport_width = XXX
                custom_viewport_height = XXX
                video_scale_integer =On

                But if a started the same game on my Retropie setup hocked up to my 1080p tv and did the same thing, low and behold everything i needed was right there.

                aspect_ratio_index =  4:3
                custom_viewport_x = 362
                custom_viewport_y = 92
                custom_viewport_width = 1196
                custom_viewport_height = 896
                video_scale_integer =On
                

                Change it to this for 720p

                custom_viewport_width = "796" 
                custom_viewport_height = "596"
                custom_viewport_x = "241"
                custom_viewport_y = "61"
                
                aspect_ratio_index = "22"
                

                Change config.txt from

                1080p
                hdmi_group=1
                hdmi_mode=16

                to

                720p
                hdmi_group=2
                hdmi_mode=85

                Connected the pi to my old 720p tv. And everything fits nicely like it should in After Burner 2.

                This is going to take a while but at least now i don't have to guess and do it manually by resizing every game by hand to fit the Bezel in 720p.

                For NeoGeo games its a lot easier because everyone of them uses the same bezel and resolution..

                I wonder why these settings only show on the pi and not on my desktop pc?

                Ps
                I will input the setting for 1080p in the cfg files so they are easy to convert to any other resolution

                FBNeo rom filtering
                Mame2003 Arcade Bezels
                Fba Arcade Bezels
                Fba NeoGeo Bezels

                1 Reply Last reply Reply Quote 0
                • H
                  Higgy @Floob
                  last edited by

                  @Floob

                  Here is a picture from my system (1440x900) without:

                  custom_viewport_width
                  custom_viewport_height
                  custom_viewport_x
                  custom_viewport_y

                  In the config file. Integer_scaling=true

                  alt text

                  1 Reply Last reply Reply Quote 0
                  • pjftP
                    pjft
                    last edited by

                    @Higgy

                    Interesting. What system and ROM are you playing?

                    I suppose that, conceptually, it may be that for these "non standard" TV resolutions, their resolution on one of the axis is effectively an integer multiple of the original resolution, making it so that for the TV resolutions - 1080p, 720p, etc - forcing integer scaling will effectively not fully occupy the screen, whereas in this resolution it will.

                    That being said, for the sake of sanity checking, would you open the Retroarch menu in-game, and under Options > Video check that Integer Scaling is effectively set to True/Yes/1? On a PS3 pad, it should be accessible via Select+Triangle.

                    Thanks.

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      Higgy @pjft
                      last edited by Higgy

                      @pjft

                      Raspberry Pi 3, MAME 2003, Game - Spatter (SEGA Arcade - just one I found which I had not added in the correct resolution yet).

                      While trying @Rion's comment of writing down the video settings, I went into the RetroArch menu (Coin + P1 Button 3 on my bartop!) and I believe Integer Scaling was effectively set to True/Yes/1.

                      1 Reply Last reply Reply Quote 0
                      • pjftP
                        pjft
                        last edited by

                        @Higgy

                        Sounds good. According to http://segaretro.org/File:Spatter_title.png the game's original resolution is 240 x 224 .

                        I'm unsure how reliable the source is, but your resolution of 1440 x 900 suggests that it can fit it at 4x resolution (so, each pixel takes up 4 pixels in your screen), resulting in an effective screen real-estate of 960 x 896. That's why you end up with a screen that takes up the entire vertical estate in your case (except for 2 pixels on top and 2 pixels at the bottom).

                        In a 1080p (1920 x 1080), with integer scale turned to ON it would interestingly be the exact same 4x resolution (896px height), as 5x would make it 1120, which is more than the vertical resolution of 1080. As such, in a 1080p screen we'd have a black border of 184px - likely 92 on top and 92 at the bottom.

                        So, summarizing: your settings are indeed correct, but it seems that for your particular screen resolution you need a bit more tweaking than necessary.

                        @Floob I wonder, can the overlays overflow the screen (i.e. could one set the overlay start position to a negative number in the vertical axis?). I doubt that is the case, but worth checking - it could make your life easier if you'd just make the default system configuration take that into account, for the ones without cfg files.

                        Alternatively, on the RetroArch menu, in the Overlays section (Options > Overlays something), select the option that shows the overlay in the menu as well (I think it's RGUI something), and play with the overlay scale. Increase it until it actually matches what you're looking for, and then add that value to the default options file - there should be an Overlay Scale value that's set at 1.00x. This might be the best way to achieve what I was suggesting in the previous paragraph.

                        You need the overlay to be displaying while in the menu though, otherwise changing the Overlay scale will likely crash Retroarch and boot you back to emulation station.

                        Hope this helps - and anyone, please correct me or add to this.

                        1 Reply Last reply Reply Quote 0
                        • RionR
                          Rion
                          last edited by

                          Here are all the cfg files that don't contain

                          custom_viewport_x =
                          custom_viewport_y =
                          custom_viewport_width =
                          custom_viewport_height =

                          ToDo 1080p

                          So all i have to do now is to start one game at a time from the pi and find these values.
                          Then add/replace /remove
                          aspect_ratio_index = "xx" to aspect_ratio_index = "22"
                          video_scale_integer = true to # video_scale_integer = false

                          FBNeo rom filtering
                          Mame2003 Arcade Bezels
                          Fba Arcade Bezels
                          Fba NeoGeo Bezels

                          C 1 Reply Last reply Reply Quote 0
                          • FloobF
                            Floob
                            last edited by

                            Just had a quick scan through the latest posts here, and yes as pjft has said the integer_scaling will apply a multiple to the resolution you have, and is why is clashing with the overlay. The video output area and the overlay are wholly independent of each other, its up to you to size as appropriate for the overlay you use (if any).

                            @pjft Pretty sure you cant set an overlay to be outside the viewable area.

                            Some interesting chat about it here as well:
                            https://forum.recalbox.com/topic/3494/overlays/41

                            It would be interesting to work on a project that comprehensively manages all of these custom settings, a bit like the video manager tool but that is much more flexible.

                            Please read the Docs before asking a new question.
                            RetroPie Help Guides: https://goo.gl/3gcNsT

                            1 Reply Last reply Reply Quote 1
                            • M
                              Manguan
                              last edited by

                              How can I crop 1920x1080 MAME overlays to 1680x1050 maintaining the original proportions of the image with Retroarch? Sorry for my english and thanks in advance.

                              pjftP 1 Reply Last reply Reply Quote 0
                              • pjftP
                                pjft @Manguan
                                last edited by

                                @Manguan

                                Off the top of my head, in principle you would remove 15px on top and bottom, and then 120px left and 120px right.

                                Would double check in action to make sure things fit - it might be the case that for some resolutions the Integer Scale causes it to be one integer less than in 1080p, and so the screen will actually be smaller than expected. In particular, if the integer scale multiplication of the vertical dimension resulted in a value between 1050px and 1080px, that won't work as intended. But I hope that would not be the case, as it's such a tiny difference. :)

                                Let us know how it goes.

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  Manguan @pjft
                                  last edited by

                                  @pjft Of course... :-) What I ask is if it is possible to do that in Retroarch (like the crop in-game menu video options in MAME) or I have to edit image in Photoshop. I have donwloaded John Merrit overlays pack and find out the game does not match in overlay window. Sorry but I am new in Retro arch. Thank you.

                                  pjftP 1 Reply Last reply Reply Quote 0
                                  • pjftP
                                    pjft @Manguan
                                    last edited by

                                    @Manguan

                                    Ah, got it.

                                    Unsure about how to do exactly that in Retroarch.

                                    What you may try is what I recommended earlier on scaling the overlay accordingly. I honestly don't know how it's currently working on your resolution (I'm assuming it doesn't take up the entire screen real estate, but rather has scaled proportionally to its original size, restricted by your screen's resolution).

                                    Open the Retroarch menu, > Settings/Options > Display Overlays

                                    Then turn on/off the option that shows/hides the overlay in the menu so that you can see it.

                                    Then change the scaling factor (which is currently at 1.00x I imagine) until it stretches to fit your game area as intended.

                                    I don't recall the exact option names, but hopefully this helps.

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      Manguan
                                      last edited by

                                      Not exactly. This is my problem... 0_1478285013641_screen.jpg

                                      pjftP 1 Reply Last reply Reply Quote 0
                                      • pjftP
                                        pjft @Manguan
                                        last edited by pjft

                                        @Manguan

                                        That's... weird. When the overlay is not showing, is the game screen not centered?

                                        I suspect that may be because of you using the current config files which are configured to screen resolutions of 1080p. It seems there's an offset to the play area that would be the right one for those screens.

                                        You may need to open the config file and figure out what the right numbers would be for that, and multiply by that formula for the X and Y coordinates - and then maybe apply some scaling.

                                        For now, if you want to test it out manually in concept, turn on the overlay in the menu, and then go to Settings/Options > Video

                                        There should be something with Viewport X and Y. Note down those two values.
                                        Then Reduce X until it looks fine - the viewport (play area) should start to move to the left. Take note of the new number when it looks fine (to compare with the original one, and see what a formula might be to convert between the resolutions).

                                        See if it needs to be tweaked on the Y axis as well. Do the same - take note.

                                        See if the overlay is hiding any of the play area, and if so, now go scale it. Take note of the new number.

                                        In this particular case, I suspect the viewport X needs to be subtracted by either 120 or 240, and Y by 15 or 30 (depends on how it actually works).

                                        You may try to adapt the previous script shared by Rion with that formula - instead of multiplying, subtracting - to batch fix that.

                                        You may need to add the line to scale the overlay, if needed. I don't recall the exact parameter, but you may be able to get it from one of the original retroarch.cfg files.

                                        Have a great weekend!

                                        1 Reply Last reply Reply Quote 1
                                        • K
                                          krull
                                          last edited by

                                          I hope somebody can answer some noob questions.

                                          Ive got the program up and running, and everything works great.....except no overlays on the N64 or Mame show up. Any obvious things to look into?

                                          Any easy way to add overlay files to the manager?

                                          Thx

                                          1 Reply Last reply Reply Quote 0
                                          • C
                                            clintmo @Rion
                                            last edited by

                                            @Rion Did you get around to completing this? The resolution of my monitor is 1366x768 and I have successfully changed the resolution in all .zip.cfg files except for the ones that don't contain this information.

                                            RionR 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.