New CRT shader from Guest + CRT Guest Advanced updates

Hi the switch deconvergence colors doesn’t work anymore with this release (my preference is to have the red deconvergence on the right, but it will always be on the left)

Also the stepping value for strength seems to be increased as I can’t make it as subtle as I had it before…

Hope both can be fixed

1 Like


It was fixed right before you posted. :grin: Now you can alter all three color components offsets individually. What is maybe worse is the larger offset step for mask preservation.


OK :rofl:

I had another play with the strength and maybe I can get it close to the same as it was, so main issue was indeed the switch.

Edit: I read something about some CRTs not being able to switch of the beam quickly enough such that (bright?) pixels have a small trail in the beam direction. Not sure what it’s called but what’s your take on that? :slight_smile:

I call it ‘left to right shadowing’. Seems hard to reproduce properly. Sometimes it’s like candle in the wind on my TV. Gave it a thought many times and what bothered me was the effect inconsistency. I also think it would become an annoyance with playing games after a period of curiosity if always shadowed over black colors.


I apologize for not bringing this up earlier, but the “Glow/Bloom Pass Settings” in the NTSC version have been without their header for while now, lumping them in with the “Interlacing Options”.

With that out of the way, any plans for more masks? I find that the specific mask (and its size), when at max strength, greatly affects how the brightness settings affect the colors.

Also, I’ve been withholding an idea for while on the grounds that it might be crazy. But I shouldn’t withhold ideas like that.

Could the curvature settings theoretically be set to negative for a concave curve? I don’t know anything about slang code, but it seems simple on the surface. Or is the simplicity deceptive? Would it cause more problems than it’s worth? Would it give @HyperspaceMadness a headache?

I know it’s not accurate to real CRT displays. But I imagine the effect on side-scrollers could be amazing… at least for those of us without curved monitors.

Great work as always by the way. I’m sorry If I may come off as unreasonably discontent or crazy. It’s just that it’s not my nature to be content, and I’m the sort of fellow who tried to play an ARPG with a HOTAS setup.

Good catch. :slightly_smiling_face: Fixed now.

You can/should use bloom/halation to handle this situation. Masks at full strength don’t look that well with ordinary displays/SDR.

It would require a special function to handle this situation. And would complicate the situation indeed. I’m in general not a fan of making the code more messy as it already is. :grin:

Anyways, thanks for the feedback, helps a lot.

Back to the shader, deconvergence pass should be complete now. Some specific handling is required since masks get smeared etc., think a good compromise is implemented together with some new feature and fixes.

New Release Version (31.01.2021-r4):

Download link:


You can/should use bloom/halation to handle this situation. Masks at full strength don’t look that well with ordinary displays/SDR.

I’ve been fiddling with bloom, halation, and bright boost long enough to know they are the biggest culprits when it comes to decimated skin tones and other less saturated colors. And reducing mask strength can actually make this worse because It increases brightness/lightness after the lack thereof has already been compensated for. This really just confirms to me that I need to more subtle all around if I want the best image.

However, it’s worth mentioning my monitor is in fact hdr capable; it’s just that whenever I have RetroArch in fullscreen Windows turns hdr mode off. I sometimes bring my laptop to other screens, however, so I still need to tone things down regardless.


I don’t think RetroArch has proper hdr support which is the issue.


It’s going to be a while…

1 Like

Sounds about right. Makes complete sense.

:point_up_2: TO THE DEVELOPMENT SUGGESTIONS! classic Batman noises

Edit: Come to think of it, this silly post might be too excessive of a digression.


Having a slight issue trying to get a border working with the shader. I have added another shader pass to the process, but when I apply the border to that empty pass it doesn’t show, and settings for the main shader revert. Not sure what I am doing wrong.

It’s mainly for use with my Sinden lightgun. I don’t like the issues that arise when using the border options in the guns dedicated software. It also wants borderless fullscreen to be in use which I despise lol.

1 Like

Can you just use an overlay instead? that’d be easier than a shader in this case.


Overlay in RA, completely forgot that was even an option. Cheers.

1 Like

Speaking of shader passes. Is it possible to add a pass of FXAA before the rest of the shader kicks in ?

Would go nicely for Dreamcast and Gamecube cores as I don’t like to increase internal resolutions as it tends to break some graphical effects and 2D elements in games.

1 Like

You should be able to replace the first stock pass with fxaa. Scaling should be OK, but you might want to set the filtering type to linear.

1 Like

That worked a treat :+1:

@guest.r, what is deconvergence for?

To simulate an arcade monitor, I liked the sharpness reduction when I increased red, green, blue range to 1.00 and the simulation seemed more realistic.

I did the test on MK1. Could it be a reference to arcade monitors from the 90s?

1 Like

For more accurate simulation. It’s nice if you add a little. Too much and it looks like an art project.


It also comes down that CRT displays represent a reasonable implementation of the ‘illuminated phosphors’ technology, which means emphasis for large x-y size while trying to reduce the depth of the displays while still producing an uniform image.

Long story short for best convergence of the RGB electron guns they must have a quite narrow focus, which is hard to achieve over the entire screen surface without additional helping technology and precise calibration. If this focus is dulled with usage, bad factory calibration etc. you can observe the RGB shifts like emulated in the shader.

There is commonly also a constant barely notable color shift effect on image edges due to RGB phosphors distribution and spacing and not to forget the glass factor combined with viewing angles.


Adding FXAA to the spare stock pass worked as intended, but it creates some artifacting around text and other 2D edges (a fault of FXAA). Is it possible to have 3 extra passes so that I can use SMAA instead ?

1 Like