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.8k 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.
    • S
      stargamesrc @Floob
      last edited by

      @Floob
      thank you and the teacher, solved my problem worked

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

        Just an update on the 1440x900 conversion.

        I am running through each ROM to check that the screen looks good and there are no issues. Some had no scaling in their .cfg's, so did not fit the 'screen area'.

        I am on the letter 'G'. Getting there slowly ;)

        Anyone have a Flying Shark bezel? It was one of my fav ZX Spectrum games. I never played the (MAME) arcade game till a few years ago. I have currently dropped in one of the Standard Vertical bezels.

        FloobF 1 Reply Last reply Reply Quote 1
        • Z
          Zigurana
          last edited by

          I finished my set of 1024x768 bezels and cfg's a while back. Just as batch crop followed by a resize action. Wrote a little script to recalculate the viewport size & position.

          I haven't tested them all, but I am willing to share them anyways, if there is an interest.

          If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

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

            @Higgy This ok?
            http://s000.tinyupload.com/index.php?file_id=21688361564337193935

            You guys may also find this relevant:
            http://smartretro.co.uk/forums/viewtopic.php?f=3&t=8313&start=10#p9074

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

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

              @Floob - thanks for creating the download, but it seems to be a <10k file that Windows reports as a virus! Android downloads it, but like I said it is less than 10k and the file is broken/not a ZIP.

              The bash file for conversion looks good. I am nursing a cold so I can't get my head around it at the moment. :(

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

                For the 1440x900 bash file it seems I have to swap out:

                (CUSTOM_VIEWPORT_WIDTH * 2/3)
                (CUSTOM_VIEWPORT_HEIGHT * 2/3)

                with 3/4 & 8333/100 to convert the 1920x1080 to the 1440x900

                How do I go about creating (this will be run on my RPI), could I have a simple guide please :

                I then had a separate batch to run it for all files in the folder and rename it to the right <romname>.cfg format in a separate folder.

                Sorry, I am not so good at this sort of thing normally, let alone with a cold.
                I guess I start by using NANO to copy/past the text and save it as say 1440convert.bash

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

                  @Higgy Thats odd - its a 6MB download when I try, maybe there is something about the website it doesnt like. I'm on a mac at the moment.

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

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

                    @Floob - I have the files now. It seemed to download ok with Internet Explorer.
                    I have created a bezel now thanks. It is not as good as the others but better than nothing.

                    1 Reply Last reply Reply Quote 0
                    • X
                      xb
                      last edited by

                      Hi guys, hey Floob it's my understanding that to get these overlays to display properly for my 1680x1050 display, I would need to resize the actual png's.
                      But do I also need to edit the game specific configuration that go with them?

                      They actually display ok on my screen, but the game is kind of offcenter to the right side. I'm willing to do the work to get it right for my screen, but I would just like a point in the right direction. I'm just not sure where to start. Thanks for all you do for the community, it's much appreciated.

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

                        You have to edit each config file. The xxx.zip.cfg

                        Someone has made a batch file for 720p here:

                        Http://smartretro.co.uk/forums/viewtopic.php?f=3&t=8313&start=10#p9074

                        I am not sure how to run it, but your understanding of Linux may be better.
                        The bash file reduces the file from 1080p to 720p so the width and height plus x and y start locations are divided by 2/3. I need to use 3/4 and 83.33/100 to goto 900p.

                        You will need to work out the factor to match your screen res.
                        I was hoping that the original poster on Smartretro (or someone who knows linux) would run the batch/bash file for all the common resolutions. The resulting files are not large. And it would only take minutes.

                        I am slowly converting each file one at a time for 1440x900p!

                        X 1 Reply Last reply Reply Quote 2
                        • X
                          xb @Higgy
                          last edited by

                          @Higgy

                          Ok thanks for that. My uderstanding isn't that much better I'm sure, but it's a start!

                          1 Reply Last reply Reply Quote 0
                          • X
                            xb
                            last edited by xb

                            So I've edited a couple of them. 3 actually. Resized pngs, put the new values for x,y in configuration files for each, and man, it worked amazingly well!
                            Since I only have the 3 loaded onto the pi, I noticed though that when I choose any other rom to play, if it doesn't have the bezel yet, will take the bezel from the last game I played that had a bezel.

                            In other words, I have a donkey kong bezel, so I play that, then I goto play asteroids, which I haven't loaded a bezel to the pi for yet, and it comes up with the donkey kong bezel.
                            So is this sort of an all or nothing thing? Or is there some line I can change in a configuration that tells lr-mame 2003 that these particular roms do not have a bezel yet?
                            Thanks,
                            xb

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

                              @xb Its highly likely your system specific retroarch.cfg is saving all the settings. You probably had save on exit enabled at some point in RGUI. This is not a great idea. Set your system specific retroarch.cfg back to normal and youll be fine.

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

                              X 1 Reply Last reply Reply Quote 1
                              • X
                                xb @Floob
                                last edited by

                                @Floob
                                Ah you're right. I forgot about that. Thanks!
                                And thanks for all your tutorials Floob, I've got a lot to learn but watching and reading your videos and posts has sped up the process tremendously for me. Thanks again.

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

                                  As @Higgy mention a few post up anyone care to have a look at the script that was posted to convert from 1080o to 720p?

                                  1080p to 720p

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

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

                                    @Rion @Higgy

                                    Sure, what's up?

                                    That script I put together can be saved as a file in the config files folder, and then on the command line you can run

                                    chmod 755 <script filename>

                                    in order to give it permissions to be executed.

                                    You can find its content here:

                                    http://pastebin.com/fnf4HCnS

                                    It was some weeks ago, and I didn't have a lot of time, so it was a very scrappy job here - no points on making it elegant.

                                    I made that to work for a single file, and since I didn't quite know off the top of my head how to retrieve all files in the folder and run that for each (which I'm sure there's a 2-3 line solution for), I just dumped the contents of the folder in a separate batch file, and got it to invoke this one for each of the config files.

                                    Here's the content of that main file:

                                    http://pastebin.com/hk7gn9Mu

                                    As you can tell, I named my first script (the earlier one) "batch.sh".

                                    Once again, you'll need to save the content of the main file on the config-file folder, and then run

                                    chmod 755 <filename>

                                    on it as well.

                                    A couple of things, which I believe I mentioned earlier:

                                    a) it doesn't handle the invaders.cfg files correctly, because it has some commented lines that relate to the settings we're trying to change. Do remove those two or so commented lines on the invaders files before running the batch file - they'll start with # custom_viewport_width or something to that effect. As there were only three, it was easier for me to fix them, though fixing the processing should also be fairly easy, given time.
                                    b) It will output the files to the same folder, but append ".new" to their end. In my case, I just moved those files to a separate folder and bulk renamed them, removing the .new extension. I'm sure you can tweak the script's FILENAME_OUT variable to output to wherever you want. For instance, you may create a new folder beforehand in the same directory you're running it from, say "output" and then set FILENAME_OUT = "output/$1" and it should work, alleviating the need for renaming the files afterwards.
                                    c) It currently is set to adjust the proportions to 2/3, which is 1080 to 720. If you want a different proportion, just replace the 2/3 in the script by the new proportion, for both height and width.

                                    Hope these help.

                                    Let me know if you have any problems running it - I ended up not using it as weirdly enough it seems I am currently running on a 1080p screen, so I can't promise it works, but theoretically it should.

                                    Best.

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

                                      @pjft
                                      Thanks for replying.
                                      The problem is I am such a Linux noob :)

                                      I have spent sooo many hours manually working my way through the configs, so I created a new folder 'test' (/home/pi/test).

                                      I copied the *.zip.cfg files to it. I created batch.sh and bulk_process.sh and gave them the correct file permissions.

                                      then within /home/pi/test/ I type ./bulk_process.sh and get -

                                      -bash: ./batch.sh: /bin/bash^M: bad interpreter: No such file or directory

                                      Also a couple of questions assuming I get it to work. I have added some more games, so what command do I type to create a 'bulk_process.sh' with the ROMS I have?
                                      And because my res is a little odd, I need to carry out another maths function, so does this:

                                      NEWLINE='custom_viewport_width = "'$((CUSTOM_VIEWPORT_WIDTH * 2/3))'"';

                                      become:

                                      NEWLINE='custom_viewport_width = "'$(((CUSTOM_VIEWPORT_WIDTH * 5/6)-80))'"';

                                      To go from 1920 to 1440 I first have to divide by 5/6 to get 1600 which is at the correct aspect ratio, I then need to subtract 80 pixels to centrailise the image as I have 1440 not 1600 (80*2 = difference 1600-1440).

                                      Sorry for being such a dope ;)

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

                                        @Higgy

                                        No need to apologize whatsoever, I'm not in any way an expert Linux user either. :)

                                        On my phone at the moment, so will reply in more detail tomorrow when I'm at a laptop, but wanted to point you in the right direction in regards to the error you're facing.

                                        I googled it and found this which may help:

                                        http://stackoverflow.com/questions/2920416/configure-bin-shm-bad-interpreter

                                        As for the resolution maths, I'm not sure what the best way is. If the aspect ratio of the screen is the same as the 1080p one, then I'd suggest just dividing by the right number, otherwise you'll need to do a different subtraction on the other axis, I suspect.

                                        What's the exact resolution?

                                        Hope these help for the moment. Let me know how it goes. I'll answer the remainder tomorrow but at least this should help you move forward for the time being.

                                        For the file names, I simply did a folder listing, piping it to a new file. So, if I recall correctly,

                                        ls > main.sh

                                        Or something to that effect. Then with my text editor just replaced all newline character in the main.sh file with the bash file we needed to run for each and newline again.

                                        Very scrappy, I know. Sorry. :)

                                        Let me know if this helps. Best.

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

                                          Thank you for joining the discussion @pjft!

                                          I'm in no way a linux expert when it comes to bin/bash scripting. But a good friend of mine by the name of Rickard whom have not joined here yet (read have not gotten his thumb out of his xxx yet) helpt me out with your script @pjft.

                                          It's a little bit altered from line 3-4.

                                          from

                                          FILENAME_OUT="$1.new"
                                          rm $FILENAME_OUT
                                          

                                          to

                                          FILENAME_OUT="output/$1"
                                          

                                          Basically it outputs the altered file in the "output" directory. You need to create the folder "output"

                                          Then he helped me make a batchrunner.sh script with the function of scanning all *zip.cfg files in the same folder.

                                          #!/bin/bash
                                          for i in `ls *.zip.cfg`
                                          do
                                              echo "Editing $i ..."
                                              ./1080p_to_720p.sh"$i"
                                          done
                                          

                                          The files @pjft mentions that reports back errors are the following.

                                          invaddlx.zip.cfg
                                          invaders.zip.cfg
                                          invadpt2.zip.cfg

                                          Before running the script just comment out the "#" before custom_viewport_width & custom_viewport_height and the back again in the new file in the output folder.

                                          Here is the altered script
                                          1080p_to_720p.sh

                                          Here is
                                          batchrunner.sh

                                          How to make

                                          Paste in contend of 1080p_to_720p.sh

                                          nano 1080p_to_720p.sh
                                          

                                          Paste in contend of batchrunner.sh

                                          nano batchrunner.sh
                                          

                                          How to run from terminal

                                          mkdir output
                                          sudo chmod a+x 1080p_to_720p.sh
                                          sudo chmod a+x batchrunner.sh
                                          ./batchrunner.sh
                                          
                                          • Now we just need the mathematical formula to convert from all of the common resolutions.

                                          I'm wondering of you could convert from a lower resolution to 1080p or something else.
                                          I was thinking about this because both @Zigurana & @Higgy both have converted @Floob 's Todo list from rp-video-manager (52 files)

                                          Ps. From 1080p to 720p i did not resize the Arcade Bezels *.png

                                          Edit:

                                          The Default path to the shaders in floobs cfg files are

                                          "/opt/retropie/emulators/retroarch/shader/arcade-bezel-shader/crt-pi-vertical.glslp"
                                          &
                                          "/opt/retropie/emulators/retroarch/shader/crt-pi.glslp"

                                          So if you are batch converting and want to use the default path instead of floobs and a more realisitic look using the "curvature" shader change these lines.

                                          • Vertical

                                          From

                                          "/opt/retropie/emulators/retroarch/shader/arcade-bezel-shader/crt-pi-vertical.glslp"
                                          

                                          To

                                          /opt/retropie/emulators/retroarch/shader/crt-pi-curvature-vertical.glslp"
                                          
                                          • Horizontal

                                          From

                                          "/opt/retropie/emulators/retroarch/shader/arcade-bezel-shader/crt-pi.glslp"
                                          

                                          To

                                          /opt/retropie/emulators/retroarch/shader/crt-pi-curvature.glslp"
                                          

                                          Same goes for the overlays

                                          From

                                          /opt/retropie/emulators/retroarch/overlays/arcade-bezel-overlays/
                                          

                                          To

                                          /home/pi/RetroPie/roms/mame-libretro/overlays/
                                          

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

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

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

                                            I'm wondering of you could convert from a lower resolution to 1080p or something else.
                                            I was thinking about this because both @Zigurana & @Higgy both have converted @Floob 's Todo list from rp-video-manager (52 files)
                                            Ps. From 1080p to 720p i did not resize the Arcade Bezels *.png

                                            Thanks for the detailed reply and for making sense of what I had stated. The for loop to iterate and generate the main file is an elegant solution - considering the scrappy script I had provided, with its current limitations and constraints :)

                                            As for your questions:

                                            • Converting from lower resolution to 1080p: this should conceptually be feasible, the main thing to look out for is potential rounding errors, because of potential non-standard resolutions. That being said, it will probably only be a couple of pixels off, at most, so it wouldn't be the end of the world. The image, though, should be of high resolution otherwise it may become blurry, distorted or pixelated (in case you're thinking of using other images).
                                            • Resizing the images is probably not necessary. I didn't try it, as I mentioned, but I'm assuming they will scale to the right resolution. You could perhaps gain something in memory or performance by not using images larger than your screen resolution as overlays, but should have minimal impact, if any.

                                            Thanks.

                                            H 1 Reply Last reply Reply Quote 1
                                            • 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.