PSX scanline artifacts with crt-pi shader
-
Pretty basic/stock RPi 3B+ setup on Retropie, using crt-pi shader on 1080p TV with 1:1 pixels (on the TV settings).
Most systems look pretty good, but especially when you enable the PSX BIOS, you get pretty awful regularly-spaced horizontal artifacts, almost as if the screen is being resized after the shader is applied.
Any tips on where to look to correct this (if you can at all)?
-
I would look at 2 things.
-
I have had this problem with overlays that had an included scanline attached to the image itself. That would fight the shader and cause distortion.
-
I have also had problems with my TV using blend and other "enhancements", so be sure you are using game mode or turning off all extra frame blending and smoothing within the TV settings.
-
-
what do you mean by this
when you enable the PSX BIOS
do you mean "Show Bios Bootlogo(Breaks some games)" in the quick menu options?
did you also enable the enhanced resolution options?
-
@dankcushions said in PSX scanline artifacts with crt-pi shader:
what do you mean by this
when you enable the PSX BIOS
do you mean "Show Bios Bootlogo(Breaks some games)" in the quick menu options?
did you also enable the enhanced resolution options?
I do mean 'Show BIOS Bootlogo'.
I haven't tried enhanced resolution because I'm trying to keep things as 'authentic' as possible to the original system.
-
@rhester72 it’s possible that the boot logo option messes up the reported resolution. sounds like a bug but i would guess wouldn’t be fixed since the boot logo causes a bunch of issues anyway.
-
also psx games uses a variety of resolutions, often in the same game. i would guess the crt shader would look bad/wrong in games like tekken 3 that ran in higher resolution interlaced modes, so you should disable it in those i guess? maybe it looks ok if you enable the interlace option?
-
Interesting - so that lends credence to my theory that the shader isn't applied "on top of" the video from Retroarch (i.e. as a separate 'layer') but actually becomes part of the image and is scaled along with the game video layer.
I'll have to think about this a bit. :) Tekken 3 would indeed be a very good test case, I will try that tonight.
-
Root cause was actually quite different. For reasons I don't fully understand, under /opt/retropie/configs/all/retroarch/config/psx/retroarch.cfg, that file wasn't just the expected stub configuration with includes, but a full Retroarch (~90K) saved configuration, which was overriding anything else I was doing. As soon as I restored it to a stub, everything now works more or less as expected (in that the overscan settings result in a slight moire pattern on the logo with shaders enabled, and switching to integer scaling removes artifacts entirely as it should).
Interestingly, after correcting this, I tested Tekken 3 and it looks fine when it shifts through various resolutions, even with the shader turned on.
I did take the opportunity to explore the zfast scalers while I was at it, and man, I am impressed - seems a near-perfect balance of visuals and performance. When my 3B+ was able to do Sega CD Ecco with the curved CRT shader at 60FPS, I knew I'd found nirvana. laughs
Thanks to all for the suggestions!
-
PlayStation outputs in both 240 and 480 lines. 480 lines don't look nice with filters unless you use a resolution that is a multiple of 240 (but not 720p because it's too low and will again be upscaled to 1080p by your monitor/TV).
You'll need a minimum native resolution of 880 lines (non-existent). The closet native resolution to a multiple of 240 on a commercial device is 4k (aka 2160p). This is impossible for gaming on a Pi.
I would recommend playing around with different shaders because I remember that some use tricks that simulate interlaced picture on 480 rendered lines, resulting in a shaky but more pleasing effect.
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.