Best way to output SCART (RGB) from Pi 3?
-
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.
-
This may be of help:
http://www.retrotink.com/#Instructions
I wrote up instructions on how to switch to 1600 x 240 during gameplay and how to adjust each of the retroarch.cfg for each core. There's also a video version here:
The settings are for my component video adaptor hat but they should work for any other DPI-based adaptor as well. You'll need to adjust the overlay settings from dpi24 to vga666 to set it to 18-bit instead of 24-bit pixel mode.
-
So, uhm...RIP to my ol'Trinitron...(sob)....
No, seriously, it just died in the field of retro videogaming duty. Sad but true. Here`s what happened - might be a cautionary tale for some of you other RGB-explorers.
I started from scratch with a fresh Retropie install, following Dochartaigh's write up (thanks for that consolidated info, regardless of the final outcome :)
When I tried the Megadrive for the first time after that, it was okay-ish but not perfect - still misaligned a bit. Now, the problems started when trying to fine tune RetroArch settings - I put them in the first time before playing, and saved as separate config, but couldn't load that config within the game again without quitting the game itself- once you quit it goes to EmuStation and reverts to retroarch.cfg ...doh...(I didn't want to set "Save on exit" to ON - had bad experiences with it before)Anyway, then I tried to readjust it within the game - that's when the disaster struck. The main issue seems to be the Integer ON/OFF switch - sometimes, in combination with other settings perhaps, when you change it to ON, it increases the the custom resolution multiplier. I had it happen before, usually double up, which is annoying but harmless. This time it went something like 3 or maybe 4 times up - filling about quarter of the screen up with zoomed in RetroArch settings display. I thought it's probably nothing that quitting/rebooting couldn't cure, turned to adjust something on my PC and when I looked back couple minutes later the screen was dead and the power LED blinking (error code: "Protection circuit trip").
Damn. But, what can you do...I suppose when adding modern experimental stuff to decades old hardware sometimes stuff like that will happen. It's my first, and the damage is more sentimental than material (got this TV for about 40 bucks) so I'll take it as a harsh lesson. Annoying, because IQ on this TV was really outstanding. And since I'm moving abroad soon, I won't bother getting another one for at least few months.
Hopefully when I come back at least some of these resolution/scaling struggles will be resolved ;)
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.