Best way to output SCART (RGB) from Pi 3?
-
I was given a Sony PVM-20N2U CRT monitor and even hooking up my SNES or Sega Genesis consoles via S-Video to it is kinda blowing my mind with the quality. I was wondering if anybody has hooked up their Pi 3 to a monitor like this and how they did it. ONLY looking for RGB options.
I'm aware I will have to tweak the /boot/config.txt to set it up at 320x240 or 640x480. Just wondering what boards and adapters people used (I'll get into the best config.txt setup when I get it all the parts in and can start testing).
Right now I ordered a Female RGB SCART to BNC cable which will plug into the Monitor's RGB connectors with csync. The other end has a Female SCART connector, so how do I best go from the Pi 3 to SCART?
From the research I've done on RetroRGB's site there's quite a few options, but some seem to involve custom Recalbox images, 12 volt power supplies (something about the scart needing 12 volts), some problems with monitor synchronization problems, etc. etc. etc.
Right now the PI2SCART adapter looks good but I still can't find out all the information I need about it. What would you all suggest? I know some of you are running CRT's in your arcade setups!
And MOST IMPORTANTLY! will hooking up a Pi 3 (once I get a good config.txt setup) to the monitor look near-identical to my video game consoles hooked up to it? Or is something lost in translation? (I know people have issues just running composite outputs to their (household-type) CRT TV's....this is a level above that with RGB with csync...so just wondering).
-
@Dochartaigh Have a look here.
-
The first couple minutes of that video, correct? Yes, the PI2SCART is the one I'm looking at the most right now. The 2nd one he talks about is the RGB-Pi is the one which the inventor said needs a 12v power supply if you use an adapter or something? and currently has some sync issues so I'll probably stay away from that one.
Do you have experience with either of these? I'm pretty much looking for people who have first hand experience with PVM/BVM-type monitors with RGB csync connections, hooked up to the Pi 3 to get a feeling of how things work. For example, if the Pi 3 simply doesn't look as good as an actual console plugged into a PVM monitor via SCART then it wouldn't be worth my while to buy all these boards and adapters you know? Or if they're having certain issues or things I need to look out for (or even if moving over to HDMI to SCART or HDMI to VGA to BNC is a better option then I'm open to that as well - as long as I can get a comparable picture).
-
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?
-
@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.
-
@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 😀
-
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.
-
@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! -
@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?
-
@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:
MegaDrive:
-
@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).
-
@HiScoreBob Posted a great guide and comparison screenshots using the far more superior Pi2Scart from Arcadeforge.net on the libretro forums.
-
@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.
how can PI2SCART be "far more superior" when I get the exact same image quality of a real Mega Drive?
-
@maxriptide The comparison was to show the difference in video output quality using the onboard pi composite RCA vs Pi2Scart.
-
@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). -
@Rion OK, I got it, composite video output is really awful
-
@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
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.
-
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....
-
@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.
-
@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...
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.