Our great sponsors
-
Sharp-Bilinear-Shaders
sharp bilinear shaders for RetroPie, Recalbox and Libretro for sharp pixels without pixel wobble and minimal blurring
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
If 15Khz/consumer CRTs are more your thing, I've written a shader for RetroArch to get things looking proper on those types of displays:
https://github.com/blitzcode/crt-240p-scale-shader/
For what it's worth I'm still using this pretty much daily a year after I wrote it. Experiencing your favorite 'content' on different displays, speakers, formats etc. is like a cheat to get excited about the same-old again.
I personally still like the RetroPie setup the best. It has some quirks, but I think it's mostly a sensibly configured solution and there's plenty of community knowledge / help out there. Maybe it's just familiarity bias, but after many hours of poking around in it and tweaking stuff I can't say I dislike it.
IMHO worst part of the out-of-the-box experience with RetroPie is that everything is configured for maximum performance, which kinda means worst latency. The input lag is astronomical if you're used to original hardware / FPGA emulation / CRTs or zero-lag scalers etc. You can get it to very acceptable levels for many systems, but you have to know which settings to change.
Here are the notes I took when configuring and tuning my setup:
https://github.com/blitzcode/retropie-setup-notes/blob/maste...
They're for a Pi 3B that's setup for output on a CRT TV, but like 90% should apply to a Pi4 on an HDTV.
Shaders are always a personal taste thing. Those posted here certainly get the as sharp as possible without shimmering, blurring, borders or wrong aspect look right, but there are other options if you want the CRT look.
This is very neat! It looks like a spatial version of a popular technique MPV uses for temporal interpolation. [0]
As other commenters mentioned, "perfect" scaling is all personal preference. In my experience it does a good job with the usual jutter of 24fps on a 60FPS monitor. Never as impressive of the smooth motion of 60Hz video on a strobed 60Hz display.
[0]https://github.com/mpv-player/mpv/wiki/Interpolation#smoothm...