Please Show Off What a CRT + Shaders can do

I saw this video and was inspired to try mixing a high resolution CRT with shaders on retroarch.

I got an Apple Studio Display and experimented with several shaders to block out the lines for 240p content. Here are my results using Guest Dr Venom no masking on a 1600x1200 resolution. The Adventure of Link has coloring in the photo no present on screen but I loved how those scanlines looks.


That looks really good. Nice beam dynamics and the mask looks awesome, which makes sense :stuck_out_tongue:

It’s a very different and very attractive alternative to the 31khz 240p look:


Interesting. I can’t even make out the mask on that one.

I have a lot of options with retroarch and this crt monitor. I can run it at 640x480 with a very simple scan-line mask to get razor sharp 240p content. Or I can run it at 1600x1200 and get chunky scanlines with more thick to thin.

It’s a really tight dot/shadow mask and a fairly crummy camera lol

I typically run 31 khz monitors at 1920 (or 2560 or 3840 or whatever the GPU can handle) x480 with the interlacing shader.

Are you using the CRT switches? If retro arch is reporting correctly I’m running at 1280 x 960 at 120hz. I’ve tried setting up a custom resolution of 1600x480 but it squishes everything. I’m also not sure what native vs dynamic is doing. I just know it looks great on this aqua apple crt.

Oh yeah, those Apple CRTs are awesome!

I don’t use switchres, just a static super-wide modeline and then use a custom aspect ratio to get the width stretched out properly.

1 Like

I got Sonic looking nice with Mame_hlsl. I can see why people start collecting these giant CRT’s.


These look great! I’ve often considered getting a CRT monitor for Retroarch rather than a CRT TV so that I could do something like this as well as being able to run PC games on it.

Saves on space as well as cash as compared to having two screens.

1 Like

omg, yes. It quickly turns into a “gotta catch 'em all” situation. I have a room full of them -_-

Well , since you have a bunch of them .If I may ask , is any of the crt models display the scanlines over white objects ? for example, if the background is white , can you see black lines over it if you sit around 1.5 meters away from it?

Yes, all of them, IIRC.

oh wow , I was depending om my memory since I was a kid. We used to have a sony model ,and for the life of me I can’t remember how they look :sweat_smile:

I have been trying to make the scanlines extra thin , I wanted to preserve the colors and minimize the brightness drop. Do you think these look realistic for a crt display ? (please open the photos in full resolution)

How visible the gaps are depends on a lot of factors, including the quality of the TV, the TV’s “TVL” rating and the size of the display, along with, of course, the viewing distance. Here’s a picture from a crummy 14" TV I had for a short time:

If you look closely, you can see that the lines are there, but they’re almost completely obscured just by the physical makeup of the screen. Even just a few feet away, it all just kinda blends together, but they’re there if you look closely enough.

yeah , that’s what I was going for , the scanlines shouldn’t be too visable to the point of distracting.

At 640x480 I can get razor sharp lines. I prefer chunky ones but I enjoy the flexibility of this vga monitor.


Nice thread and pics! Good idea to use CRT shaders without the mask to see what results you can get on a CRT monitor. I like the extra blur and beam width variability you get from shaders vs. true 240p or just using the interlacing shader.

The black space ratio in that last pic is a little much even for me, but really shows what these monitors were capable of. Nice work.

After much messing around it seems setting a custom resolution of 1600x1200 works best and easiest. I can’t get crt switches to work after following multiple tutorials. Maybe the crop settings in retroarch or on an emulator are incorrect as most simple scans line shaders indicate I’m not getting perfect scaling. Regardless I can manage the shaders to get results that look natural and fills the screen as if perfectly scaled. I get no shimmering with scrolling horizontally or vertically.

Hopefully this helps someone or someone helps me :slight_smile:


This post is just for anyone messing around with VGA monitors like the Apple Studio Display 17 and having trouble.

-With a custom resolution utility I can get scanlines with a resolution of 2560 x 240 but cannot get a vertical resolution of 224 to work at all. This means many games look off and also annoying to manage multiple displays since I run retroarch on my laptop.

-I have found setting a custom resolution of 1600x1120 along with the default 1600x1200 to work best. These two resolutions cover almost everything and even when not pixel perfect the higher resolutions mask it. Venom or the interlace shader without any masks work great.

If anyone has any easier or better solutions to managing a CRT with retroarch please let me know.

240px height should work fine, you just may need to use a box shader or custom viewport settings to center the image and avoid stretching.

Thank you, I didn’t know about the box shader. On my monitor it has to scale some games down both horizontally and vertically for the correct aspect ratio like a Link to the Past on the SNES, which means less screen real-estate.