Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

The place for all discussion on gaming hardware
Dochartaigh
Posts: 1530
Joined: Thu Mar 02, 2017 6:53 pm

Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by Dochartaigh »

I'm trying to get back into making a proper CRT image for my Raspberry Pi 3B+ and am failing miserably. I have 2x Pi2SCART's, a RGB-Pi, an older RetroTink S, and a bunch of RP3B+'s and RP3B's I would like to get running for myself and friends/family.

I tried the 4x seemingly most-popular CRT images, and I really don't mean to be harsh (especially when I've traded messages with some and they really are nice people), but they're all just really flawed.


All I'm looking for, which I thought wasn't asking too much, is:

• Ability to use RetroPie-esque/RetroArch backend so I don't have to re-learn some crazy new system.

• Ability to use normal recommended Romsets EVERYONE AND THEIR MOTHER uses - this means FBAlpha/FBNeo, and Mame2003 for arcade games (these DO work with super resolutions fyi)

• Have the image centered roughly the SAME in ALL EMULATORS and menus (NOT rocket science...)

• DECENT looking and working interface -not talking a masterpiece– just want a screenshot + a short short description per game (would LOVE video too). SO many aren't accounting for CRT overscan – game lists are cut-off (EVERY SINGLE CONSUMER CRT EVER MADE has overscan, FYI), and/or use fonts so small you can't even easily read game names, let alone the short descriptions... Tried DOZENS of other 'CRT' themes too – ALL have issues.

• Semi-Active community where if me or a friend has an issue we can post and get some help

_______________________________________________________________________


Before you recommend any, here's what I used and my jaded comments on each (sorry, if you know me you know I go all out and try each multiple times on all different hardware, really give it a good go... and after like 40+ hours trying all these, even posting many places for help and getting little to none... I'm more than a bit jaded with these...)

RetroCRT: Following his directions on Github, and the RetroPie System update is broken. When I manually update (per his in-person directions), it updates the system but everything is bricked. Also couldn't update to use any modern screenscraper. Vectrex is broken, and is ALL over the place with screen centering (despite NES/SNES/Genesis matching my actual consoles PERFECT lol...)

RetroPie CRT Edition: DOES have awesome screen centering widget!!! BUT seems to use AdvanceMAME for arcade (EVERYBODY else uses FBA and mame2003 - I’m NOT redoing my massive romsets…). To add insult to injury you can NOT enter Runcommand to change emulators no matter what… posted on their forum, TWICE, but no help WEEKS later…

CRTPi-RGB: I won't lie, at about this time I was so fed-up I stopped taking good notes lol. I just know for whatever reason (probably similar to above) this wasn't working well, I also know for a fact that the developer is NOT working or supporting it anymore.

RGB-Pi OS 2: This SCART device came in the mail after I tried the others. I literally ONLY bought it because they claim to be close to fixing the RP4 super resolutions issues (and are working with Calamity/CRTEmudriver guru on it!!!), and have teased how it'll work with a Guncon 2 for light gun games! --- Anyway, this one is kinda an immediate disqualification because it's pretty much completely their own build, has already taken me a SOLID ~10 days just to download all their "packs" off that horrible Telegram App/program/site (4x different computers/Apps/programs/browsers/ISP's/VPN's and all that and they tell me that despite trying so many different computers on totally different ISP's that it's still MY issue somehow...). I WILL give this another chance when/if they get the Guncon 2 to work!


_______________________________________________________________________



Anyway, hope I don't sound like a little punk with the above lol, but I've been through the ringer on this and it's beyond frustrating... Is there any hope? Anything for CRT use that just works and confirms to my criteria?

I thought my criteria are like no-brainer things EVERYBODY would require for a 'successful' RP3 CRT build... Or am I really asking too much? (seriously, let me know). I mean basically I just want to use the normal romsets everybody uses, be able to friggin read the game names, and NOT have black bars on the side of every other emulator due to faulty porches/super-resolutions. I literally re-did my entire CRT setup for these builds so I would have a consumer CRT on hand to test on, a TATE monitor (I play a lot of arcade games on these RP3's), a PVM, and a BVM to cover all bases, so it's not my equipment being faulty. --- Not to mention re-imaging each build at least 2 or 3 times, trying different hats and Pi's and SD cards just in case, researching all my issues, asking/posting for help, etc. etc... I'm literally probably 30+ hours into this so far...
User avatar
Fudoh
Posts: 13015
Joined: Mon Mar 06, 2006 3:29 am
Location: Germany
Contact:

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by Fudoh »

Started going down the same road, but was pretty quickly turned off by all the limitations you're speaking of. Started using a vanilla Retropie install instead and adjusting what's necessary step by step. After a few hours everything was up and running.

This way you also learn all the necessary tweaks and adjustments, so you're not lost when an update kills your settings or changes anything you don't like.

We had other Pi/RGB output thread here which pretty much has the information you could ever need.

I didn't go a GPIO RGB solution. I tried that, but the limitation to 240p for the menu wasn't for me, so my RPi3 setup is going 15khz into a HDMI to analogue converter instead. I don't see though why using a GPIO RGB header would change the general structure - it just means you're going for different output resolutions than you would via HDMI.
MarkOZLAD
Posts: 1010
Joined: Thu May 18, 2017 12:39 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by MarkOZLAD »

ArPiCade might be worth a shot.
___________________________________________________
MarkOZLAD
OSD/External RGB Mux Diagram
OSD/External RGB Mux Resistor Value Table 0.7Vp-p : 0.5Vp-p

"Imagine toggle switch OSD modding a TV in 2019" - maxtherabbit
PC Engine Fan X!
Posts: 8450
Joined: Wed Jan 26, 2005 10:32 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by PC Engine Fan X! »

ArPiCade is setup for standard jamma (but if used with a supergun with RCA composite video, S-Video & scart rgb output capability), works like a charm with a crt tv. Bought an optional cooling fan for it as well (for those longer marathon gaming sessions indeed).

ArPiCade looks awesome on a 27"/29* low-res arcade monitor setup.

PC Engine Fan X! ^_~
daskrabs
Posts: 257
Joined: Sat Oct 01, 2011 1:05 pm
Location: Philly Area

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by daskrabs »

My 2 cents: Pi's are not suited to CRT setups unless your use case is very limited, like one console or arcade system you can tailor to. The software out there is designed for HD displays, and it's largely not worth the effort to shoehorn the Pi into something it doesn't wanna be. What you save in cost and size, you lose in headaches and compromises. Using a MiSTer for CRT is the only viable solution, IMHO.
Taiyaki
Posts: 1050
Joined: Fri Apr 04, 2014 11:31 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by Taiyaki »

I was also looking into using a Pi and same as you when I realized the limitations I looked elsewhere. I ended up settling on groovymame in a mini-ATX case which renders it close to a console. Not optimal for some emulators but I mostly just wanted this for arcade since I have the actual consoles hooked up to the CRT for most of the rest.
Dochartaigh
Posts: 1530
Joined: Thu Mar 02, 2017 6:53 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by Dochartaigh »

Fudoh wrote:Started going down the same road, but was pretty quickly turned off by all the limitations you're speaking of. Started using a vanilla Retropie install instead and adjusting what's necessary step by step. After a few hours everything was up and running.

This way you also learn all the necessary tweaks and adjustments, so you're not lost when an update kills your settings or changes anything you don't like.
I did my initial CRT build like ~4 years ago that way with all the runcommand-onstart/onend commands and all that... but I thought nearly 4 years later there would be something already setup (and especially when I've forgotten like 95% of how the hell I did that all those years ago lol).

I WILL note that some of these pre-built images DO have (forget which) a script which will take your existing setup and add all the super resolution stuff... but honestly if these people completely screwed up their pre-built image I don't have much faith in their scripts working properly in a setup of my own (and ALL of their previous issues will no doubt migrate over).

Also sadly doesn't help with a theme that actually works, doesn't look like crap, and is readable... and that's another rabbit hole I am NOT going down (i.e. learning how to design my own CRT theme)... let alone having to spend HOURS changing like 1 porch, shortening the other, testing in each and every core, just to get it centered properly (forget if I did this per-emulator or what fwiw...).



Fudoh wrote:We had other Pi/RGB output thread here which pretty much has the information you could ever need.
Are you talking about the "240p via HDMI on Raspberry Pi" topic? Or did I miss another one with good info (if so PLEASE link!!!)? I re-read like 5 random pages of that topic and honestly it's pretty much useless for the layman... just people going back and forth about dot clock, base clock, CEA modes, CVT modes... all things I don't know much of anything about, and doesn't seem to be much consensus at all let alone a pre-built image...

Also building these for other people who aren't going to own, or want to get, Extron RGB boxes, and/or HDMI>RGB/YpBpr converters - a single hat to their CRT is WAY easier for them.

That HDMI route also seems to be using Lakka at first, then Fernan then switches to recommending RecalBox a couple pages in? -- neither of which I'm familiar with (and definitely NOT familiar enough in to change all the super resolution code and troubleshoot... which I could at least attempt with a RetroPie/ES build).



PC Engine Fan X! wrote:ArPiCade is setup for standard jamma (but if used with a supergun with RCA composite video, S-Video & scart rgb output capability), works like a charm with a crt tv. Bought an optional cooling fan for it as well (for those longer marathon gaming sessions indeed).
If this works well for arcades I can try it on a CRT monitor - what is needed (code-wise) for the switch from Jamma to RGB Hat? I'm mostly using VGA666 modes in config.txt now.

I assume there might be tweaking required for controller configs too? (which I'm using standard 6-button SFII-style Fightsticks with Sanwa/Seitmitsu parts ;)



daskrabs wrote:My 2 cents: Pi's are not suited to CRT setups unless your use case is very limited, like one console or arcade system you can tailor to. The software out there is designed for HD displays, and it's largely not worth the effort to shoehorn the Pi into something it doesn't wanna be. What you save in cost and size, you lose in headaches and compromises. Using a MiSTer for CRT is the only viable solution, IMHO.
Sorry, but I have to adamantly disagree here, i.e. that MiSTer is the only CRT option... Mister, while super cool what they're doing, is still absolutely pitiful with Arcade cores, which is the vast majority I play (since I own all the home consoles and Everdrives/ODE's for those) - and I just re-checked like ~2 weeks ago if they had any major improvements of late. They support, no joke, like 1/50th of the arcade games I play on a ~weekly basis (and I'm not playing obscure arcade games whatsoever). Let alone talking about save states and other quality of life improvements... it is 2022 you know... ;)

GroovyMAME/SwitchRes/CRTEmudriver is far and wide the defacto standard for non-real-hardware-on-a-CRT (for people who are in the know of course!). The guys who never stopped running and collecting real arcade cabs for like 40+ years SWEAR up and down by GroovyMAME/GroovyArcade... AND, Calamity, the genius behind CRT Emudriver is working with the RGB-Pi people on his drivers for RP4 fyi (WITH GUNCON 2 LIGHT GUN GAME SUPPORT!!!!!). Plus, GroovyMame uses the same type of super resolutions the RP3 does right now... really extremely similar when setup correctly, just don't have the WAY more powerful PC backing the emulation... RP3 is more limited in what it can run of course (but still runs a TON perfectly fine to my eyes).



Taiyaki wrote:I was also looking into using a Pi and same as you when I realized the limitations I looked elsewhere. I ended up settling on groovymame in a mini-ATX case which renders it close to a console. Not optimal for some emulators but I mostly just wanted this for arcade since I have the actual consoles hooked up to the CRT for most of the rest.
Did that a couple years ago with a i7-7700 (since most rendering is hardware still, I bought a fast processor to run everything very well). Actually have a second i5 running a full totally custom Hyperspin setup my buddy who runs Arcade-one.com built for me.

It's just that I have a bunch of extra RP3's and a bunch of hats I'm doing nothing with so wanted to get some use out of them... thus getting back into this shit-show that is RP3 on CRT... Also want to get some practice time in with the Pi since the Guncon2 support is supposedly on the way for Pi4.
User avatar
ASDR
Posts: 832
Joined: Sat Aug 12, 2017 3:43 pm
Location: Europistan

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by ASDR »

I agree 100% with Fudoh here, roll your own. All the existing solutions I looked into were way to complicated to debug and understand. Too many modifications to the base image, too many scripts, too many weird choices and stuff I didn't care about.

I love using a Pi3 on a CRT. For latency & accuracy a MiSTer can't be beat, but the Pi runs spinning circles around it in terms of the general user experience. Stuff like save states everywhere, all the extra games it can run, all the input mapping / autofire stuff etc. I like it so much better on RetroArch. Heck, I often find myself using the Pi over original hardware just because it's so convenient. Just scp some new romhack over, save states, can use any controller, zero stupid aging-original-hardware issue. Play 20 different systems without ever getting up.

This should get you 90% there:

https://github.com/blitzcode/crt-240p-scale-shader/

If you want accurate refresh rates you have to add that on top, see what CRTPi does. But then you'll have to adjust more than two timing sets to be accurate.

Do you really need screenshots and descriptions in the menu? I think that's a poor fit for 240p. The default theme works great in 240p, just the font is terrible. Switch it.

Forget about MAME on Pi3, performance / lag is terrible. FBA does a much better job. Has enough performance to run many of the popular shmups. DDP & Bakraid for instance even has enough juice for runahead. Batrider / Garegga are laggy, Ketsui is OK. Make sure you understand how to configure RA for the optimal performance / lag sweetspot.
User avatar
kitty666cats
Posts: 1273
Joined: Tue Nov 05, 2019 2:03 am
Location: Massachusetts, USA

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by kitty666cats »

Bit of a necrobump:

I’ve had great luck (and never any remotely significant issues) with RetroCRT. FWIW there’s a updated version that came out since this thread’s origin in Feb 2022 - https://github.com/xovox/RetroCRT/releases/tag/v3.2

Worked great for me, the only *minor* issues for me in RetroArch were that sometimes when I’d boot up a game, I would have to disable and re-enable the integer scaling, if I’m remembering correctly. Also, for a rare few games I had to occasionally switch between native resolution and custom resolution. Sometimes the custom resolution seemed to be the true, accurate one? The Pi image uses super resolutions btw.

My setup for this Pi image was a bit of a unique one - I was using this obscure 24bit VGA GPIO hat, with a sync combiner:

https://texelec.com/product/lo-tech-rpi-vga-board/

(Wonder if anyone will poo-poo because it uses a resistor ladder DAC… whatever, image looks AMAZING to me)

Since it’s 8:8:8 24bit, I decided to just try the config.txt people use for the RetroTink Ultimate (also 24bit). Worked perfectly fine, first go. Glad my intuition was right!

Here’s some pics and videos, I find the image and GPIO hat great personally. Also added and configured PC-98 and Sharp X68000 cores on my own, hehe. Pics are via either my Sampo presentation monitor, or Apple IIgs monitor. The latter is the one with the dot mask.

https://www.instagram.com/reel/ChzzyeuA ... BiNWFlZA==

https://www.instagram.com/p/CUmDSKXAMrW ... BiNWFlZA==

https://www.instagram.com/p/CRQFvh5FNPU ... BiNWFlZA==

https://www.instagram.com/p/CkrfgZXJMl4 ... BiNWFlZA==

https://www.instagram.com/p/CRNmkyyF2K3 ... BiNWFlZA==

https://www.instagram.com/p/CWIA7Zag-Gn/?
igshid=MzRlODBiNWFlZA==

https://www.instagram.com/p/CVoIzAxlO8h ... BiNWFlZA==

https://www.instagram.com/p/CQjOvSwFWOU ... BiNWFlZA==

https://www.instagram.com/p/CUenCV2AI_Y ... BiNWFlZA==

https://www.instagram.com/p/CU_qHvvMOhD ... BiNWFlZA==

https://www.instagram.com/p/CUJvR8ZAdrR ... BiNWFlZA==

https://www.instagram.com/p/CU_qHvvMOhD ... BiNWFlZA==

https://www.instagram.com/p/Cl_4Fu3p2gm ... BiNWFlZA==

https://www.instagram.com/p/Ck1CbtXpUxo ... BiNWFlZA==
User avatar
kitty666cats
Posts: 1273
Joined: Tue Nov 05, 2019 2:03 am
Location: Massachusetts, USA

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by kitty666cats »

P.S. for 3B+, the CanaKit PSUs are trash. If you can find this Argon One, get it

Image

When I search on Google, it’s nearly impossible to find one of this design. Maybe they just changed how it looks…
fernan1234
Posts: 2183
Joined: Mon Aug 14, 2017 8:34 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by fernan1234 »

Why not just get an official Raspberry Pi PSU? It seems like everyone who has issues with power always ends up solving them by going for the official power adapter.

On topic, if I were trying to get back into a Pi image for CRTs, I'd just go with the Recalbox RGB Dual image and pair it with one of their hats (but I'd only do this if I didn't know about using RGBUntu on an older PC).
Dochartaigh
Posts: 1530
Joined: Thu Mar 02, 2017 6:53 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by Dochartaigh »

fernan1234 wrote: Thu Dec 14, 2023 6:20 am On topic, if I were trying to get back into a Pi image for CRTs, I'd just go with the Recalbox RGB Dual image and pair it with one of their hats (but I'd only do this if I didn't know about using RGBUntu on an older PC).
That's always my issues – learning an ENTIRE new system... especially one like RGBUntu which I've never heard of so I doubt the level of posts about problem-solving are as widely available...

Knowing RetroPie relatively decently (or at least having probably hundreds upon hundreds of thousands of posts about solving issues), or even RetroArch (which RetroPie is HEAVILY based upon for probably the majority of emulators) just makes life easier... which is why I was really hoping for a GOOD RetroPie/RetroArch based image for use on CRT's.
Invader_lex
Posts: 2
Joined: Thu Nov 29, 2018 7:11 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by Invader_lex »

This is the tutorial I followed, the trick is to use a resolution of 1600 x 240 15hz, remember that CRTs do not care about the horizontal res, it will fit the entire 1600 pixels on the width of the TV!, if you use 320x240 you will find that an integer scale on the SNES is not filling all the screen, the SNES games are 256 x 224 but with an integer of 6X it would be 1536 (256*6) so you will end with 1536x224 that fill almost all the screen with no interpolation.

here is the tutorial
http://bencao74.blogspot.com/2017/05/re ... l-for.html

Already tested.

Worked perfect for me, I used a VGA hat and a VGA to Component transcoder with a consumer Sony TV. I downloaded a retro skin with big fonts and I manually set every emulator, is very hard because the image appeared squashed and thin at first but so you will need to navigate to the options blind and by memory to set the screen to 6x. Some emulator work with 6x others with 5x. Is the best way to play with integer scaling.
User avatar
ASDR
Posts: 832
Joined: Sat Aug 12, 2017 3:43 pm
Location: Europistan

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by ASDR »

So again I agree completely that all of those CRT RPi images are kinda a pain because it's all completely different than standard RetroPie and difficult to figure out what exactly they did and how to change things or resolve issues.

Regarding the squished RGUI, you need to set this: Settings->User Interface->Appearance->Lock Menu Aspect Ratio->Stretch

And I'd again just recommend using a scaling shader:

https://github.com/blitzcode/crt-240p-scale-shader

This is much easier than setting this up for each system & game. Never deal with the terrible scaling menu of retroarch, it's buggy and terrible for setting up these super resolutions. Forget about using integer scaling or really any of the build-in scaling features.
fernan1234
Posts: 2183
Joined: Mon Aug 14, 2017 8:34 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by fernan1234 »

Yeah as I said earlier a Recalbox Dual setup is the way to go, though any Raspberry Pi based solution will always have some limits, but for most systems that most people care about it doesn't matter much. But the Recalbox image is as good as it gets for anyone who wants to stick with a Pi, and also more likely to be maintained over time since the team has products to sell.
User avatar
kitty666cats
Posts: 1273
Joined: Tue Nov 05, 2019 2:03 am
Location: Massachusetts, USA

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by kitty666cats »

fernan1234 wrote: Tue Dec 19, 2023 5:35 am Yeah as I said earlier a Recalbox Dual setup is the way to go, though any Raspberry Pi based solution will always have some limits, but for most systems that most people care about it doesn't matter much. But the Recalbox image is as good as it gets for anyone who wants to stick with a Pi, and also more likely to be maintained over time since the team has products to sell.
Does it implement super resolutions? Or is the resolution switching so good that it doesn't really make a difference?
User avatar
NoAffinity
Posts: 1028
Joined: Mon May 07, 2018 5:27 pm
Location: Escondido, CA, USA

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by NoAffinity »

This is all a bit disappointing to read. I've got an rgb-pi on the way, to put into a jaleco low pro. I want to have a dedicated jaleco library on it but also probably a variety of other 2 button games like ghouls and ghosts.

I've got a pi 1, 2 and 3 (sorry, dont have the exact models right in front of me). What is the best hardware and software configuration currently, assuming jamma/all analog?
Dochartaigh
Posts: 1530
Joined: Thu Mar 02, 2017 6:53 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by Dochartaigh »

NoAffinity wrote: Tue Dec 19, 2023 4:29 pm This is all a bit disappointing to read. I've got an rgb-pi on the way, to put into a jaleco low pro. I want to have a dedicated jaleco library on it but also probably a variety of other 2 button games like ghouls and ghosts.

I've got a pi 1, 2 and 3 (sorry, dont have the exact models right in front of me). What is the best hardware and software configuration currently, assuming jamma/all analog?
I could be off here... but with the RP3, I remember people were really happy (even in arcade cabs with CRT's) with super resolutions running on all of their games (or maybe back in the early days, people were just thrilled that such a small device could be used on their cab, instead of a full-fledged PC housed inside it... so they might have been more forgiving). .. so using the Pi 3 is your best bet if you don't want to upgrade to the RP4 (which has a lot more power... and can run previously problematic games a lot better they say).

Now, with the RP4 (and even the 5 is out now! – although super hard to get currently), and I don't know the technical terms here... but the hardware itself and/or how the software interfaces with it has changed compared to the older 3, and they seemed to have a hell of a time getting super resolutions (and proper analog output) out of the RP4 for a long, long, time... but that WAS a long time ago... and people have been using it for a long time now on CRT's...

RGB-Pi (and their SCART cable - make a Jamma one too) might have been the first to release a (quasi-wide spread, i.e. not niche and program everything yourself at least) image which worked with super resolutions AND analog output on the RP4... problem there is they've made TWENTY SIX BETA versions of OS4 so far... and I hate to say it as I still have high hopes for them, but it's literally the most buggy platform I've EVER used on the Pi (and that's saying a lot... RetroPie back in the day I probably have ~3 dozen problem topics on their forums trying to sort out everything with that... lots of growing pains there too, and just non-logical, install it 5 times and one build will magically work with no logical rhyme or reason lol... the others being problematic). Went back to RGB-Pi OS4 BETA_26 2 weeks ago and it's STILL giving me all sorts of issues (been ALL over their Discord trying to get help too... most replies are "well, it works find for me", with NO additional steps I can take to fix... and I've been trying THREE different RP4's, 5x RGBS-capable CRT's, 4x GunCon2's, 2x RGB-Pi SCART cables, and 2x Pi2SCARTs which can run OS4 if you mod the config.txt... still being basically told it's probably a hardware issue on my side... somehow... despite using ALL of the above hardware... again, makes no logical sense... sigh).

So long story short, STILL don't know what to tell you in terms of what flavor of image to use...
User avatar
ASDR
Posts: 832
Joined: Sat Aug 12, 2017 3:43 pm
Location: Europistan

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by ASDR »

The last time I looked at the Pi4 and it's new video stack it was a total mess. The specific issue is resolution switching. RetroPi etc. don't use X11/Wayland and had to switch from the legacy/rpi-proprietary VideoCore stuff to the standard KMS/DRM graphics stack. There were a lot of changes and updates to all parts of the system, you could see commits and bugfixes in RetroArch, RetroPi etc. to make this all work but it sure is a hell lot more complicated than just executing a few commands to switch resolution in a shell script. I bowed out when there was talk of compiling device tree overlays and loading custom kernel modules and such. RGBPi and such all have their proprietary solutions to make this work, when I last checked. Nothing you could understand and take and put into a standard RetroPi image in an afternoon. Hey, maybe by now it all just works and RA can just switch to whatever resolution it is configured and back to what it was on exit. That's the intention, it seems, there were patches not yet in any RetroPi image when I last looked, no idea.

On the Pi3, it's REALLY easy. You have to configure the DPI with a few lines so the Pi outputs to your hat, add res switching in two scripts and then you only have to avoid making the terrible mistake of not using a shader to handle scaling and trying to configure RA manually for each game/system :D

Pi3+ is pretty decent, but stuff like N64/Saturn will never work and even on many weaker systems there just isn't enough performance there for run-ahead or disabling threaded video etc. and you have to live with some lag & stutter. But it's a GREAT system overall when it's all setup and working.
Dochartaigh
Posts: 1530
Joined: Thu Mar 02, 2017 6:53 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by Dochartaigh »

ASDR wrote: Tue Dec 19, 2023 7:34 pm On the Pi3, it's REALLY easy. You have to configure the DPI with a few lines so the Pi outputs to your hat, add res switching in two scripts and then you only have to avoid making the terrible mistake of not using a shader to handle scaling and trying to configure RA manually for each game/system :D
Not quite that easy. Last time I tried it you STILL needed the onload/offload script to run super resolutions... for each and EVERY dIfferent emulator you ran... quasi-automated on certain images of course (if not all done for you), but still something to it on the backend for each emulator on the RP3.
User avatar
ASDR
Posts: 832
Joined: Sat Aug 12, 2017 3:43 pm
Location: Europistan

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by ASDR »

Dochartaigh wrote: Tue Dec 19, 2023 7:48 pm
ASDR wrote: Tue Dec 19, 2023 7:34 pm On the Pi3, it's REALLY easy. You have to configure the DPI with a few lines so the Pi outputs to your hat, add res switching in two scripts and then you only have to avoid making the terrible mistake of not using a shader to handle scaling and trying to configure RA manually for each game/system :D
Not quite that easy. Last time I tried it you STILL needed the onload/offload script to run super resolutions... for each and EVERY dIfferent emulator you ran... quasi-automated on certain images of course (if not all done for you), but still something to it on the backend for each emulator on the RP3.
A single super resolution can be used for all emulators, the actual reason you might want a custom modeline / res for each emulator is refresh rate. If it doesn't bother you that there will either be some slight stutter or the game runs a slightly wrong speed (depends on emulator / settings which you get) then you don't have to do any per-emulator work at all. Apart from configuring each for the optimal perf / latency tradeoff, that is. Running 55Hz arcade games at 60Hz isn't optimal, though. And if you run stuff like a WonderSwan on 60Hz you're screwed anyway.

Edit:

If you want the refresh rate switching etc. then the retired/abandoned CrtPi project has done pretty much all the work for you and you can just use their script / databse. You can just adopt that. It's actually one of the few decent CRT+RPi images I've seen since it takes a RetroPi images and makes sane, understandable tweaks to it.
Dochartaigh
Posts: 1530
Joined: Thu Mar 02, 2017 6:53 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by Dochartaigh »

ASDR wrote: Tue Dec 19, 2023 7:58 pm A single super resolution can be used for all emulators, the actual reason you might want a custom modeline / res for each emulator is refresh rate.
Does using ONE single super resolution make 224p games (like NES and SNES commonly are) full-screen on your CRT, along with 240p games from consoles like Genesis full-screen (i.e. completely top to bottom, and side to side, with nothing cut off besides the normal overscan area meant to be cut off -- and no black bars on the side(s)) for example?

And yes, I know games can have other video modes too, just generally-speaking here.
User avatar
ASDR
Posts: 832
Joined: Sat Aug 12, 2017 3:43 pm
Location: Europistan

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by ASDR »

Dochartaigh wrote: Tue Dec 19, 2023 9:55 pm
ASDR wrote: Tue Dec 19, 2023 7:58 pm A single super resolution can be used for all emulators, the actual reason you might want a custom modeline / res for each emulator is refresh rate.
Does using ONE single super resolution make 224p games (like NES and SNES commonly are) full-screen on your CRT, along with 240p games from consoles like Genesis full-screen (i.e. completely top to bottom, and side to side, with nothing cut off besides the normal overscan area meant to be cut off -- and no black bars on the side(s)) for example?
Using the shader I linked or another alternative like snap-shader used in the CrtPi project does the right thing like the real console. Absolutely. But to be clear, the right thing is not stretching 224p to 'full-screen'. The SNES outputs basically 240 lines just 16 of them happen to always be black. If you treat it like a 256x224 console you'd get the wrong image / aspect ratio. The black bars on the side come due to doing the aspect ratio math incorrecty due to treating it as a 224p high image or due to assuming a square pixel aspect ratio or insisting on integer scaling, all of which is wrong. That's why I recommend using a shader as it gets these details right which would otherwise be easy to mess up either by not understanding what the right thing is or by making it difficult to set it up correctly with the RA scaling menu, which is not well-suited to this task. Also see https://github.com/blitzcode/crt-240p-s ... motivation.
Dochartaigh
Posts: 1530
Joined: Thu Mar 02, 2017 6:53 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by Dochartaigh »

ASDR wrote: Tue Dec 19, 2023 10:12 pm Using the shader I linked or another alternative like snap-shader used in the CrtPi project does the right thing like the real console. Absolutely. But to be clear, the right thing is not stretching 224p to 'full-screen'. The SNES outputs basically 240 lines just 16 of them happen to always be black. If you treat it like a 256x224 console you'd get the wrong image / aspect ratio. The black bars on the side come due to doing the aspect ratio math incorrecty due to treating it as a 224p high image or due to assuming a square pixel aspect ratio or insisting on integer scaling, all of which is wrong. That's why I recommend using a shader as it gets these details right which would otherwise be easy to mess up either by not understanding what the right thing is or by making it difficult to set it up correctly with the RA scaling menu, which is not well-suited to this task. Also see https://github.com/blitzcode/crt-240p-s ... motivation.
Thanks. If I ever give this another try I might do something like that... but was hoping for pre-baked so you don't have to fiddle with shaders or whatever for every console (maybe even on a per-game basis if that game uses a different resolution).
User avatar
ASDR
Posts: 832
Joined: Sat Aug 12, 2017 3:43 pm
Location: Europistan

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by ASDR »

Dochartaigh wrote: Wed Dec 20, 2023 7:25 pm Thanks. If I ever give this another try I might do something like that... but was hoping for pre-baked so you don't have to fiddle with shaders or whatever for every console (maybe even on a per-game basis if that game uses a different resolution).
You don't have to do that! That's the whole point of doing all the scaling etc. in a shader! :D

Just read the damn link I've shilled 5x already:

"Supports a wide range of emulators with no need for per-system or per-game tweaking. Set this up once and play thousands of games without ever thinking about aspect ratios, resolutions, scaling, centering, shimmering, interpolation, etc. again"

:D

CrtPi is also a ready-made image build on RetroPi that uses this approach and it even has custom modes that set the correct refresh etc. for all systems and arcade games.

I really hope that I can port this kind of setup to a Pi5 at some point in the future. Too bad most of those hats don't do 480i, would be nice to have for Dreamcast and it would also be a better fit for PSP/Vita etc. emulation.
fernan1234
Posts: 2183
Joined: Mon Aug 14, 2017 8:34 pm

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by fernan1234 »

Actually about Recalbox Dual I take it back, it seems to be locked to 60Hz or 50Hz for PAL stuff, so it's garbage.

Even if outdated I'd go with that CrtPi route for the correct refresh rates, which IMO is crucial for a good retro experience.
User avatar
NoAffinity
Posts: 1028
Joined: Mon May 07, 2018 5:27 pm
Location: Escondido, CA, USA

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by NoAffinity »

ASDR wrote: Wed Dec 20, 2023 8:50 pm
Dochartaigh wrote: Wed Dec 20, 2023 7:25 pm Thanks. If I ever give this another try I might do something like that... but was hoping for pre-baked so you don't have to fiddle with shaders or whatever for every console (maybe even on a per-game basis if that game uses a different resolution).
You don't have to do that! That's the whole point of doing all the scaling etc. in a shader! :D

Just read the damn link I've shilled 5x already:

"Supports a wide range of emulators with no need for per-system or per-game tweaking. Set this up once and play thousands of games without ever thinking about aspect ratios, resolutions, scaling, centering, shimmering, interpolation, etc. again"

:D

CrtPi is also a ready-made image build on RetroPi that uses this approach and it even has custom modes that set the correct refresh etc. for all systems and arcade games.
This was the selling point for the RGB-Pi JAMMA, for me, with its custom OS. I expected there will be some tweaking and customization and nothing is ever truly plug n play and perfect out of the box, but I'm also not looking for a complete ground-up build. Really hoping the RGB-Pi JAMMA and it's OS or maybe a marriage with CrtPi will get me close to that hope.

Oh, and my Pi 3 is a model B. I know I have a 1 and a 2 somewhere, but those got squirreled away somewhere and unless there's some great advantage to using one of those over a 3b, I'd prefer to go with the newer tech in my possession.
User avatar
kitty666cats
Posts: 1273
Joined: Tue Nov 05, 2019 2:03 am
Location: Massachusetts, USA

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by kitty666cats »

I actually helped out with the making of CRTPi, I don't think I ever tried the 'final' image though... I'll have to give it a whirl sometime soon

I wonder whatever happened to the guy!
User avatar
ASDR
Posts: 832
Joined: Sat Aug 12, 2017 3:43 pm
Location: Europistan

Re: Raspberry Pi *CRT* Image THAT DOESN'T SUCK???

Post by ASDR »

kitty666cats wrote: Fri Dec 22, 2023 4:51 am I actually helped out with the making of CRTPi, I don't think I ever tried the 'final' image though... I'll have to give it a whirl sometime soon

I wonder whatever happened to the guy!
Thanks for your work, I didn't end up using CRTPi directly for my setup as I had some different ideas and needs but it was certainly the reference I used to learn about how all of this works on RPi/RetroPie!

IIRC u/ErantyInt was tired of the jerks on Reddit and he also reached a natural end point for his project. He did pretty much everything you could do on Pi3 and Pi4 was basically broken at that point and he didn't want to put in the work on figure out how to all make it work again. Honestly, I really like the idea of software just being finished. Not everything needs to be updated indefinitely every week, I like stuff that's just done and keeps on working.
Post Reply