Best way to output SCART (RGB) from Pi 3?
-
@edmaul69 using overscan with such small resolution (320x240) always lead to scaling artifacts which are what Dochartaigh is experiencing
-
@Dochartaigh said in Best way to output SCART (RGB) from Pi 3?:
Is there any other way to shrink the image besides tweaking the overscan settings in /boot/config.txt?@Dochartaigh you can try the settings I suggested to you in this thread and try to center the image following the method suggested by Molhoy in this thread: https://retropie.org.uk/forum/topic/8673/how-to-center-image-of-retroarch-with-pi-outputing-240p-rgb-via-hat-board-gert-666-to-pvm/14
-
Hi Gents, so if I'm hearing you both correctly (please let me know if I'm not!), there is NO other way to SHRINK the image via software settings BESIDES overscan, right?
Overscan, like Max said, totally ruins the image quality, so I'm hoping there's something else to try. Centering is perfect (thanks to that post - even tested it with the 240p Test Suite on NES, SNES, and Genesis!).
-
You guys might want to check out this:
Kevin has been doing some great work getting the scaling settings right using a high horizontal resolution (1600 x 240) which eliminates non-integer scaling artifacts.
He using my component video output to a TV but the same theory should apply if you're using SCART on a PVM.
-
@mikechi2 Thanks mikechi, I have to try it!
-
I'm really interested in a solution to this as well, got my raspberry pi + pi2scart today and can't get it to look nice without having to use black bars at 240p, is it possible to resolve these issues with a future update or modification to retropie+retroarch? Or is it a limitation inherent to the Raspberry Pi ( 3 model B ) itself? If it's not, would it be possible that we can change resolutions on the fly in the future like when using retroarch on a modded wii with rgb scart? That would be the dream!
@mikechi2 Would love to check the discord out, the invite ran out.
On a side note, NES scrolling backgrounds with any of the cores stutters for me, both through hdmi (720 and 1080p )or on a crt in 1:1 240p. Is this due to me using an ipad power supply? It's rated 2.4A. It says I'm getting a solid 60fps (60.2) but it's noticeably lagging compared to the same game on a wii which is buttery smooth. Settings seem optimal, no shader, smoothing etc, messed with both vsync and threaded video, if I apply a 2x phosphor shader when playing in 720p performance still stays exactly the same, also the backgrounds stutter irregularly.
Should I wait for my 3A micro usb psu or install an older version of retropie, surely there's no need to overclock for NES is there? -
@riggles phone chargers are terrible to use because they dont run a constant voltage. The way fast charging works is it runs at a high voltage and the drops and runs at a slower voltage then goes back up to higher voltage. Buy a power supply made for the pi 3.
-
I'm planning on making another video this weekend with some detailed instructions. Stayed tuned...
-
@mikechi2 Looks amazing and big thanks for sharing, going to wait until then to mess around with the pi2scart in that case :D
-
Hi folks, 1st post here...
I just received my Pi2SCART. Connected everything and unfortunately the IQ is abysmal - it looks like RF, lots of noise. I suspect that it might be a fault of the RGB cable I bought - its awful, the clamps that secure connector casing to the cable both fell off instantly and now it
s all wobbly, colours change when the cable is moved. I bought it as a bundle with the Pi2SCART from Arcade Forge so I
m surprised it`s so shoddy.Now, I
m an experienced PC user but this is my first time with the Pi, hence I
d appreciate if you had a look at my checklist and see if I maybe missed a step or detail. I`ll get another cable anyway of course.
I followed the most common guides from RGBCables, HiScoreBob, Pi2Jamma, Arcade Forge and RPi homepage. What I did:-assembled the unit (Pi + Pi2SCART)
-formatted a MicroSD, wrote images (RetroPie, later tried Lakka and the one from Arcade Forge)
-edited the config.txt adding the settings from Arcade Forge page
-connected power (original charger), Dualshock 3 via USB, RGB cable to my SONY Trinitron CRT, got the MicroSD inThe image is stable however extremely noisy - just like an RF connection. I have PS1 and Wii connected via RGB to this TV and IQ is superb, so it
s not the TVs fault. I haven
t tried any actual roms or emulators yet - however I suspect that even the frontend should be noise-free.Any help/comments appreciated. Apart from the cable, I was thinking, maybe I need to update the firmware (though I just got this Pi from PiHut). Or maybe I missed something obvious.
EDIT: some bizarre highlights in red in the above post - not sure how that happened :/
-
Can you post some photos of the image so we can see exactly what you're talking about? You might also be better off on their FaceBook page for troubleshooting info - they're very well versed in their own product and offer great help (RetroPie, while great, is very much geared towards HDMI TV's).
-
@arkive Double check your power supply - are you getting the yellow low voltage warning? When I designed my adapter I had a lot of issues with picture noise and dimming due to lower supply problems.
-
@mikechi2 Arcadeforge settings are for 320x240 so the GUI will not look any good at all at that resolution. You can try the pixel theme it works a little bit better but we really lack a low resolution theme.
-
Thanks for replies folks,
@Dochartaigh - I decided to post here because I saw posters who might have Pi2SCART & CRTs and some experience with it - and maybe could see if I missed some obvious step. I'm not on Facebook, but will try to pester AF's customer support if this is unresolved. Can't post pics because the damned cable actually fell apart completely after I pulled it out from the Pi yesterday - ridiculous :) But, the "noise" is akin to static you see on hardware connected through RF socket...think "film grain" filter you get in some modern games (not sure if it`d be even possible to capture on camera, these things are rather tricky)
I`ve just ordered a new cable anyway, will see if this problem persists. Hopefully not...if yes, it means that either Pi2Scart or the Pi itself is borked :/
@mikechi2 - " the yellow low voltage warning"? Hmm, not sure, but don't think so - I read somewhere the warning manifests itself as a square in the top right corner...can't recall seeing anything like that (can't test again because that damn cable is busted). Do you mean yellow LED? I see the green-ish LED (next to the red) blinking, but it looks like it`s reading from SD (maybe). Also, I got the original Pi power thingy, so hopefully this is not the case...though the symptoms (noise/dimness) match.
@Dalton69 - yes, I'm aware of that GUI theme limitation but that's something to be expected when outputting to a CRT (got similar "problems" on Wii emus) - however I don't think the noise I describe above should be present at all, even in the frontend GUI.
Will wait for the new cable, see what happens then. Thanks again.
-
@arkive said in Best way to output SCART (RGB) from Pi 3?:
the "noise" is akin to static you see on hardware connected through RF socket...think "film grain" filter you get in some modern gamesThis topic isn't letting me scroll up (I might have posted this before), and without a picture I still really don't know exactly what you're seeing, but try these settings for the Pixel Perfect mode. You can either do it by hitting Select+X in a game to enter the RetroArch settings (remember to save if they work for you), or through the RetroPie menu, RetroArch settings.
Before doing the above settings, mine was kinda muddy, blurry almost, some diagonal lines were a little wavy, just not as clean as my actual video game consoles were at all. After trying those above settings it's razor sharp on my BVM's (actually too sharp almost!).
-
Okay...back on topic, with a new SCART cable. The good news is that the noise/interference problem is gone - it was indeed the cable's fault. The bad news - well, obviously now I`m facing the real battle, namely how on Earth do I get this thing to scale properly?
Some of you here - OP especially - already have been through this trial of fire, and I'm hoping could help me out a bit. To be honest, the amount of configs & variables is fairly overwhelming, even to somebody who manages a mostly-stable modded Skyrim setup ;)
There's lots of info scattered here and there regarding the topic, quite a few helpful posts here in this thread, however I`m starting from absolute scratch, since it's my first venture into pixel-perfect RGB world. Back in the day I happily didn't care - just plugged in any console via anything better than RF (mostly composite) and was content with the result. Not anymore...
Ok, to recap, here's what I'm doing: I have a RPi3 B connected to a 27" Sony CRT TV via Pi2Scart, running Retropie 4.2.
For starters, I`d like to display a SNES game in native resolution. Here are changes to cfg files I attempted:config.txt
uncommented:
disable_overscan=1
added:
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
or
hdmi_timings=256 1 8 17 21 224 1 7 10 24 0 0 0 60 0 4800000 1
retroarch.cfg for SNES
aspect_ratio_index = "22" custom_viewport_width = "256" custom_viewport_height = "224"
Some retroarch.cfg video entries
video_threaded = "true" video_smooth = "false" aspect_ratio_index = "0" video_aspect_ratio_auto = "true" video_shader_enable = "false" video_allow_rotate = "true" video_windowed_fullscreen = "false" video_crop_overscan = "false" video_scale_integer = "true" video_force_aspect = "true" video_shared_context = "false" auto_screenshot_filename = "true" video_force_srgb_disable = "false" video_fullscreen = "true" video_vsync = "false" video_hard_sync = "false" video_post_filter_record = "false" video_aspect_ratio = "-1.000000" video_scale = "3.000000" video_refresh_rate = "60.000027"
The effect is far from perfect - the screen is filled, but mostly cut off at bottom and left , depending on which hdmi_timings and "overscan_" values used (best pic I managed to get was using the timings from AForge and trimming (adding?) 16 to overscan left & bottom - filled, but with small black bars on top and bottom). And there`s an annoying stutter in scrolling games too.
Sorry for the long post but can`t see any way to hide these configs via html here. Any help most appreciated. And, @Dochartaigh, the PixelPerfect settings you mentioned did help you out, did you use them in Lakka or RetroPie?
-
@arkive does the scrolling stutter go away when different non pixel perfect or non full screen settings are used? How does it scroll on an hdtv? In my case it was just bad usb cable.
-
@arkive
can`t see any way to hide these configs via html here.
"put small logs in code blocks - see http://commonmark.org/help/ - and put large logs on a pastebin type site like http://paste.ubuntu.com/ http://pastebin.com/ or similar."
Quoted from:
-
@riggles said in Best way to output SCART (RGB) from Pi 3?:
@arkive does the scrolling stutter go away when different non pixel perfect or non full screen settings are used? How does it scroll on an hdtv? In my case it was just bad usb cable.
It was down to VSync it seems - I left it "off" initially since it's supposed to introduce lag, at least in 3D Windows games. Is that the same case here? I didn't "feel" any but I'm not uber-sensitive to it.
Overall, I made some progress since yesterday. Well, sort of :) I used Molhoy's timings : hdmi_timings= 320 1 10 20 54 240 1 6 8 10 0 0 0 60 0 6400000 1. These produce perfectly centered image, however, just like Dochartaigh says in that thread, an image that is about 10% too big on all sides.
Then I tried to combine these timings with maxriptide's suggestions re: custom resolutions adding the 256W/224H values for SNES - result was 1:1 scaled pic, however pushed to the bottom and left of the display. Then I went into RetroArch settings and tried Integer ON - this centered the image - however left black bars on left (bigger) and right (bit smaller). I don't own original SNES to compare, this image feels "right" though regarding pixel quality and overall IQ - however I'm not sure it really is "right"?
As a gamer, I`m okay with that kind of IQ - it looks RGB & scaled properly, the black bars are bearable, however as a tinkerer would like to know if there's a "perfect" solution.
Haven`t tried messing with overscan in addition to this yet, since people report it introduces artifacts...might give it a go later.
-
@arkive said in Best way to output SCART (RGB) from Pi 3?:
Some of you here - OP especially - already have been through this trial of fire, and I'm hoping could help me out a bit. To be honest, the amount of configs & variables is fairly overwhelming, even to somebody who manages a mostly-stable modded Skyrim setup ;)
Ok, I just started on this again last night and had success! My SOLE premise was to get MAME/Arcade games working at 100% since I already physically own all the NES/SNES/Genesis/PS1 games of my youth.
My advice for you is to start with an fresh install of RetroPie. Load these settings into /boot/config.txt. These are what the makers of the Pi2SCART recommend you use:
disable_audio_dither=1 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
Boot up the Pi, and start the copy process for some test MAME/Arcade/Genesis ROMs. While those are copying I would install the Pixel-TFT theme (otherwise it can be hard to read all the text in the game menus). Then go into the RetroPie menu > RetroArch settings, and change the RetroArch settings to the pixel perfect settings shown here:
https://www.hiscorebob.lu/tips-n-tricks/lakka-optimal-video-settings-for-240p/
Aspect ratio Index 1:1 (PAR 4:3) Windowed scale 1.0 Integer scale ON HW Bilinear Filtering OFF Threaded Video ON Vsync ON
(I forget if you have to save those settings or just exit back out)
Then go to /opt/retropie/configs/SYSTEM NAME HERE/retroarch.cfg file and add these lines to the systems in question (those are the "arcade", "mame-libreto" and "megadrive" for me. You want to add these three lines above the "# include" line:
aspect_ratio_index = "22" custom_viewport_width = "320" custom_viewport_height = "240"
After the ROM's are done copying reboot the Pi so those show up in the game lists. You can now try most MAME/Arcade games, AND Sega Genesis and they will play absolutely perfect. I mean I can switch back and forth from my real Sega Genesis console and the Pi and they're 95%+ identical (the only differences is the emulation itself which isn't 100% perfect - but pretty darn close).
Now, I say to test MAME/Arcade and Sega Genesis - and there's a reason for that. Sega Genesis is 320x240 resolution which is the setting you set the /boot/config.txt to in the "hdmi_timings" line. Most MAME/Arcade seems to be in 320x240 as well (or close enough that I don't notice anything stretching or looking weird for almost all of my 100 or so games I play).
The problem is now going to be twofold in getting things perfect for every system (like others have mentioned):
1.) The first hurdle is I have my 4x BVM/PVM's alignment set so every one of my 6 actual video game consoles I have hooked up are pretty decently centered and nothing major is cut off on the edges. It's not perfect, but decent. The Pi 3 is a different animal. I think I calculated it and it's 12% too large top to bottom, and maybe 9% too large left to right - that means important things like life meters and scores and such are cut off. You have two options here: you can manually adjust all your monitors H and V Space/phase/centering EVERY SINGLE TIME you want to use the Pi 3, then switch it back to the setting that works for your actual video game consoles (which is a major PITA to put it lightly). OR you embark on the funky 1600px tweak you're no doubt read about - I haven't had good luck getting this working but it seems like it's the ONLY way to get every system to work properly, but also seems like a TON of work as you basically (I think) have to set a custom viewport size for every single system...if not EVERY single game, to get it to resize the system/game correctly. Since this is MORE work than adjusting my monitors alignment settings, I've just been tweaking the monitor's settings itself instead (albeit on only my 1 main monitor).
2.) The second problem is since you set the /boot/config.txt to be in 320x240 resolution (which is fine for Sega Genesis, most of MAME, and any other 320x240 systems), you'll find that the systems which aren't in that exact 320x240 resolution will never be perfect (this to me, most importantly, means NES/SNES which is 256x224, will never be perfect when the resolution is set to 320x240 in /boot/config.txt). There seems to be three options here:
2A.) Use that complicated, doesn't work for everybody (although people SWEAR by it...just haven't been able to get it to work for myself), 1600px trick with a boatload of initial setup (but, in theory, fine after that). OR:
2B.) You need a second memory card setup for that /boot/config.txt hdmi_timings setting to be setup in 256x244 for NES and SNES (or manually edit the config.txt and reboot whenever you want to play NES/SNES). OR:
2C.) Live with some black bars (mainly) along the left and right side of the image while playing NES/SNES. I personally hate this, but I can't get the 1600px mode to work which is why I'm happy at the moment just with Arcade/MAME functioning properly (with a bonus of Genesis being good as well since it's at that same 320x240 resolution).
Hope the above super-long post helps (thankfully a lot of this came from my own notes ;) Basically, try the above and see what the Pi 3 is capable of on a PVM/BVM monitor with MAME and Sega Genesis - it really can be stunning and near/identical to the real thing. Then see if it's worth it to you to start trying the 1600px mode to get things even more perfect - that seems to be ideal with the resolution switching every single time you load a game to the proper systems' resolution (then after you're done a game it switches back to a regular non-1600px wide resolution so you can read the menus)...I just have to try it more to see if I can get it to work.
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.