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

    Best way to output SCART (RGB) from Pi 3?

    Scheduled Pinned Locked Moved Help and Support
    scartrgbcsyncpvm
    92 Posts 15 Posters 65.3k 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.
    • D
      Dochartaigh
      last edited by

      I ordered the PI2SCART. I'm going to start reading and researching the best boot/config.txt settings people are using for a 240p/480i RGB monitor and will post back here!

      Anybody know of any good low-res themes which would look good at that size? How would the RetroPie config/setup menus look at that size? Are they still readable?

      RionR 1 Reply Last reply Reply Quote 0
      • edmaul69E
        edmaul69 @Dochartaigh
        last edited by

        @Dochartaigh said in Best way to output SCART (RGB) from Pi 3?:

        PVM-20N2U

        i cant help you here but i would like to say you are one lucky dude on the sweet hookup. please do report your thoughts on how it is when you get it all running good.

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

          @Dochartaigh said in Best way to output SCART (RGB) from Pi 3?:

          I ordered the PI2SCART. I'm going to start reading and researching the best boot/config.txt settings people are using for a 240p/480i RGB monitor and will post back here!

          Anybody know of any good low-res themes which would look good at that size? How would the RetroPie config/setup menus look at that size? Are they still readable?

          Sorry about the slow reply. PI2SCART is the best option so far. Read more on the support for PI2SCART on RetroRgb and the official creator/reseller site.

          I don't know about any good low-res themes. Maybe @Rookervik know something About that.

          I don't have a CRT setup myself but im i big nerd when it comes to retro gaming so i read and watch all sorts of retro articles and youtube channels 😀

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

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

            I have hooked up my RPi3 to several CRTs (PVM-1454QM, Commodore 1084s, Sony and Philips TVs) through SCART RGB. At first I bought an HDMI-VGA converter and a UMSA VGA adapter but that sort of converter (HDMI-VGA) introduces a slight lag so I ordered a kit for a Gert VGA adapter, which is plugged on the GPIO interface and, still coupled with the UMSA, got no lag at all. In both ways the visual end result is stunning, I own both a japanese Mega Drive and a PC Engine and, to my eyes, there's no difference between the picture generated by the PI and the real thing. Of course I spent a lot of time to tweak the config.txt file in order to get the appropriate resolution, I must say that it is much easier with the HDMI-VGA converter (just put H-res, V-res and frame rate) rather than the Gert-VGA because a lot of parameters are needed (front porch, back porch, pixel clock etc.), there's little information on the internet and so, for me, it was a matter of trial and error. Please keep in mind the you can only set one resolution in the config.txt (e.g. 320x240) so you have to play with the "custom_viewport" parameters in retroarch to fit different resolution and sometimes this is not the best way. PC Engine, for example, has a resolution of 256x239, when you set this resolution in the viewport and config.txt is set to 320x240 you end up with black bars on left and right side. The only solution I come up with is to have different micro-sd card with different resolution set on the config.txt file.

            D M 2 Replies Last reply Reply Quote 1
            • D
              Dochartaigh @maxriptide
              last edited by Dochartaigh

              @maxriptide said in Best way to output SCART (RGB) from Pi 3?:

              it is much easier with the HDMI-VGA converter (just put H-res, V-res and frame rate) rather than the Gert-VGA because a lot of parameters are needed (front porch, back porch,

              Thanks for letting me know it'll look beautiful! That's what I'm looking for. I just wish I had two PVM/RGB monitors side by side to compare the console to the Pi version ;)

              For the settings in the config.txt, this is what Arcade Forge says to use for the PI2SCART (which i don't know is anywhere close to the parameters you're using for the Gert-VGA):

              disable_audio_dither=1
              dtparam=audio=on
              dtoverlay=vga666
              enable_dpi_lcd=1
              display_default_lcd=1
              dpi_group=2
              dpi_mode=87
              hdmi_timings=320 1 16 30 34 240 1 2 3 22 0 0 0 60 0 6400000 1 
              #240p
              

              The above looks like it would give you 240p which is 320x240 pixels. I'm most concerned with NES, SNES, and Sega Genesis. Those resolutions are (as found, very confusingly, on the web):

              NES: 256x240 pixels (not even 240p)

              SNES/Super Famicom: 512 pixels X 448 max, most games were 256x240, which was cropped on a 4:3 monitor to 256x224? ...is NES above cropped as well?

              Sega Genesis / Mega Drive: 320x224 (which is that its cropped/overscan? resolution, so the native/true resolution is 320x240 i.e. 240p?)

              So basically, if the resolution is set to 240p (320x240), there's nothing built into RetroPie/EmulationStarion/ReroArch (when outputting VGA/RGB/SCART signal) that would stretch those above resolutions to fill a 4:3 screen? Would I really need 3x SD cards loaded with RetroPie to get the correct 4:3 ratio on this PVM monitor for those 3x systems? I'm not familiar with what the custom_viewport option does as I've never messed around with that...I hope this doesn't get that difficult....All I would like is the image to fill the tiny 4:3 CRT screen!

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

                @Dochartaigh Could this not be configured using a custom config for every emulator in the runcommand before you start a game for that particular system?

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

                D 1 Reply Last reply Reply Quote 0
                • M
                  maxriptide
                  last edited by

                  @Dochartaigh
                  The config.txt I use is very similar to the one you posted apart for slightly different hdmi_timings.
                  Once the PI resolution is set there is no way (or none that I know of...) to stretch a lower resolution to fill a 4:3 screen if you want a pixel-perfect image. If you want to display SNES and NES fullscreen you have to set 256x240 on config.txt and the TV/monitor will "analogically" stretch the image horizontally to fill the screen.

                  I tried to take some picture of my PVM hooked up to a real MegaDrive and to a RPi3 running retropie. The pictures don't do justice to the real image, it's really hard to photograph a CRT!

                  RPi3-Retropie:
                  0_1488320108169_RPi3.jpg

                  MegaDrive:
                  0_1488320392872_MegaDrive.jpg

                  1 Reply Last reply Reply Quote 3
                  • D
                    Dochartaigh @Rion
                    last edited by

                    @Rion said in Best way to output SCART (RGB) from Pi 3?:

                    @Dochartaigh Could this not be configured using a custom config for every emulator in the runcommand before you start a game for that particular system?

                    I really don't know - that's why I'm turning to the forum for help! All I want is to have whatever game I load fit to the 4:3 ratio TV's screen.

                    @maxriptide said in Best way to output SCART (RGB) from Pi 3?:

                    Once the PI resolution is set there is no way (or none that I know of...) to stretch a lower resolution to fill a 4:3 screen if you want a pixel-perfect image. If you want to display SNES and NES fullscreen you have to set 256x240 on config.txt and the TV/monitor will "analogically" stretch the image horizontally to fill the screen.

                    Thanks for the pics. I'm not looking for pixel perfect at all - even on my PVM monitor I have to mess with the V and H space to get it to fit to screen perfectly (which I'm assuming is slightly stretching the image). What was wrong with the "custom_viewport" settings you used? What would you suggest for the easiest way to get each system (in my case NES, SNES, Genesis, and Arcade) to stretch to that 4:3 monitor? (with hopefully no large area of unused pixels around the edges - I do like edge to edge so it fills the screen).

                    M 2 Replies Last reply Reply Quote 0
                    • RionR
                      Rion
                      last edited by

                      @HiScoreBob Posted a great guide and comparison screenshots using the far more superior Pi2Scart from Arcadeforge.net on the libretro forums.

                      Here is the post

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

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        maxriptide @Rion
                        last edited by

                        @Rion said in Best way to output SCART (RGB) from Pi 3?:

                        @HiScoreBob Posted a great guide and comparison screenshots using the far more superior Pi2Scart from Arcadeforge.net on the libretro forums.

                        Here is the post

                        how can PI2SCART be "far more superior" when I get the exact same image quality of a real Mega Drive?

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

                          @maxriptide The comparison was to show the difference in video output quality using the onboard pi composite RCA vs Pi2Scart.

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

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            maxriptide @Dochartaigh
                            last edited by

                            @Dochartaigh said in Best way to output SCART (RGB) from Pi 3?:

                            What would you suggest for the easiest way to get each system (in my case NES, SNES, Genesis, and Arcade) to stretch to that 4:3 monitor?

                            The only way I can think of, is to set the PI to a 480i resolution, then in the retroarch.cfg in each single emulator set video_scale_integer = "false"
                            and video_smooth = "true", doing so, every game, no matter the original resolution, will be stretched to 640x480 filling the screen. The downside of it is that you'll get a manipulated image not different than the one you get hooking up the PI to an hdmi monitor or tv. Worse than that, in a 15KHz monitor (as a PVM/BVM is) this resolution (640x480) will be interlaced so the screen will be flickery.
                            I think that the only point of using a 15 Khz CRT monitors is to feed them with an RGB progressive signal (240p or 224p) so that the games may be displayed in their full glory as they were meant to be displayed by their programmers.
                            Personally, I'd go with the multiple SD solution, you could have one for Mega Drive and another one for NES and SNES switching them before turning the PI on.
                            As regards Arcade games, the situation is even worse since the arcade games have a lot of different native resolutions (320x240; 288x240; 256x224; 320x224 ; 384x224 and others).

                            1 Reply Last reply Reply Quote 0
                            • M
                              maxriptide @Rion
                              last edited by

                              @Rion OK, I got it, composite video output is really awful

                              1 Reply Last reply Reply Quote 1
                              • M
                                maxriptide @Dochartaigh
                                last edited by maxriptide

                                @Dochartaigh said in Best way to output SCART (RGB) from Pi 3?:

                                What was wrong with the "custom_viewport" settings you used?

                                There is nothing wrong with the custom_viewport setting I used, it is the solution I come up with to display different systems using a fixed resolution in the config.txt. Resolutions lower than the config.txt can be "framed" inside that one, I sketched the following image to explain this
                                0_1488565228282_viewport.jpg

                                So, let's say you set 320x240 in the config.txt and you want to display SNES games (256x224), you have to edit the SNES retroarch.cfg file adding the following lines:
                                custom_viewport_width = "256"
                                custom_viewport_height = "224"

                                and, if needed, custom_viewport_x and custom_viewport_y to center the image. As I wrote before, the final image will have black borders, that may be thin or thick depending on the h-size and v-size settings on your monitor.

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  Dochartaigh @maxriptide
                                  last edited by

                                  Thanks for the diagram.

                                  Is there really no "fit to screen" setting anywhere?

                                  Via HDMI, which is set to 1080p (1920x1080), how does every single system properly stretch top to bottom (with of course black bars on the left and right since 1080p is widescreen/16:9, and these systems are mostly 4:3 ratio), without doing anything special to the setup files. Same thing happens when my system config.txt is set to 720p - and it does all this automatically. Is it a function of a modern flat-screen LCD TV and that's why these CRT's can't do that without complex settings?

                                  I'm just not understanding what the problem is....

                                  pjftP M 2 Replies Last reply Reply Quote 0
                                  • pjftP
                                    pjft @Dochartaigh
                                    last edited by

                                    @Dochartaigh I think that's the Pi/retroarch video scaler's doing, similar to what was mentioned a few posts back about the integer scale.

                                    That's the video renderer scaling the image to fill the 1920x1080 pixels based on the source image. You may get artifacts and it won't be quite perfect.

                                    What you are looking for is getting the Pi to only output exactly the pixels you want and get the PVM to do the scaling (well, to just tender that image on its full screen).

                                    Sorry if it isn't clear, writing on my phone.

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      Dochartaigh @pjft
                                      last edited by Dochartaigh

                                      @pjft said in Best way to output SCART (RGB) from Pi 3?:

                                      @Dochartaigh I think that's the Pi/retroarch video scaler's doing, similar to what was mentioned a few posts back about the integer scale.

                                      That way you get lots of flickering thought they said because of the progressive signal (or not at the right hZ frequency or something?) - that wouldn't be good.

                                      I am looking for NES, SNES, and Genesis, mostly, but I also LOVE arcade game too (and Doom and Quake through Ports, and The 7th Guest through ScummVM, bunch of MS-DOS games) so even the multiple SD card solution which was mentioned won't work for arcade games with all those resolutions which were listed as well...

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

                                        Right - I was exactly not suggesting that. I was answering to your question around "Via HDMI, which is set to 1080p (1920x1080), how does every single system properly stretch top to bottom (with of course black bars on the left and right since 1080p is widescreen/16:9, and these systems are mostly 4:3 ratio), without doing anything special to the setup files". That's because of the software scaler from RetroArch. It has nothing to do with the TV.

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          maxriptide @Dochartaigh
                                          last edited by

                                          This post is deleted!
                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            maxriptide
                                            last edited by

                                            @Dochartaigh said in Best way to output SCART (RGB) from Pi 3?:

                                            Via HDMI, which is set to 1080p (1920x1080), how does every single system properly stretch top to bottom (with of course black bars on the left and right since 1080p is widescreen/16:9, and these systems are mostly 4:3 ratio), without doing anything special to the setup files. Same thing happens when my system config.txt is set to 720p - and it does all this automatically. Is it a function of a modern flat-screen LCD TV and that's why these CRT's can't do that without complex settings?

                                            It's a matter of math.
                                            I'll try to explain it but English is not my mother language so sorry if I don't make myself clear.

                                            In order to make an image fit a screen bigger (in terms of pixels) than the image itself, the CPU has to perform an interpolation, a mathematical algorithm which spreads out the original pixels into a bigger "surface" and generates new pixels in order to fill the blank spaces.
                                            If you have a small image, let's say 256x224, and want to display it onto a big screen, let's say 1280x720, the interpolation algorithm has a really great number of blank pixels to fill (as you can see in the following image):

                                            0_1488616312337_snes 1_1 in big frame.jpg

                                            The algorithm will "create" all the new pixels and you'll get this:

                                            0_1488616420645_snes resized in big frame.jpg

                                            if you don't like pixel look you may also want to use a bilinear filtering algorithm which smooths out the edges by blurring the image:

                                            0_1488616626325_snes resized Bilinear filtering in big frame.jpg

                                            Instead, when you want to resize an image into a "surface" only slightly bigger than the image itself (e.g. from 256x224 to 320x240), the interpolation algorithm has very few blank pixels to fill:

                                            0_1488616873772_snes 1_1 in small frame.jpg

                                            the algorithm will not be able to generate a perfect slightly-bigger copy of the original image and artifacts will be present:

                                            0_1488617124405_snes resized in small frame.jpg

                                            please take a look at the text characters at the bottom of the image and at the jagged lines of the writing "super mario world" which are are not uniformly shaped. And it gets even worse watching a scrolling background!

                                            I hope I made myself clear :-)

                                            A final note: I know that this is the retropie forum and we are supposed to talk only about retropie and Raspberry PI but the solution to your problem may be using a different machine. A softmodded PAL Nintendo Wii coupled with a SCART RGB cable with WiiMednafen installed is perfectly capable to display all the 16-bit consoles in their fullscreen glory on your PVM without any artifacts and without the need to fiddle with config files and video hardware add-ons.

                                            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.