CRT shader debate

Pardon my intrusion on this thread. I want to know if there is a crt shader that would look like a Sony 32fv310 tv. I saw a video on youtube and 2d retro games look beautiful. Here is the link of the video if someone is interested in creating a shader that looks just like it.

Super Mario World on Sony 32fv310

1 Like

I think many of them look pretty similar to that. Try crt-aperture or crt-guest-dr-venom.

1 Like

Maybe try the Kurozumi presets I think there’s one for crt-guest-dr-venom and one crt-royale, also as hunterk said crt-apeture is a good choice as well.

I tried Kurozumi shader but for some reason it looks a little green.

I tried most of them but they look good when the characters are still but when you move around the scanlines and shadow mask fades a little.

Yeah… You’re not going to get CRT levels of motion clarity at this time. If that’s what you’re talking about?

@hunterk please correct me if I’m wrong.

@crtseeker CRT-Aperture or guest-dr-venom with scanline type 2 are your best bet.

Yes, the mask is going to disappear when anything is in motion due to the LCD’s motion blur. I recommend not using masks at all, TBH. (I’m a horrible person).

At the proper viewing distance (2-3 times the width of the display) for SD content, masks shouldn’t be visible anyway. You can basically define the proper viewing distance as the distance at which the mask is no longer visible.

It’s the same for digital displays. If you can see the individual pixels making up the display you’re sitting too damn close.

Google “Lechner distance” for more info.

To summarize:

  1. if you can see the mask you’re too close to the display
  2. the mask is going to disappear when there is any amount of motion on an LCD
  3. LCD displays already struggle to maintain sufficient brightness and contrast just when applying scanlines. The mask just makes it so much worse.

In about 10 years we’ll have quantum dot emissive displays with enough brightness to do black frame insertion, scanlines and masks while maintaining an adequately bright image. Even then, there’s little point in adding the mask since it shouldn’t be visible at the proper viewing distance, anyway. There are certain situations where adding a mask can improve the objective picture quality by providing better shade separation at the high end but it’s not worth the loss of brightness IMO. On my display, the mask doesn’t have any appreciable impact on the objective picture quality unless I increase the mask strength to levels that are high enough to cause a significant loss of brightness.

Edit: also, you can pretty much disregard most of my old posts in this thread. I’ve learned a lot the past couple years and my views have changed considerably.

1 Like

Why? Does it have to do with lcd technology or crt shader limitation?. I also read that with an 8k monitor or tv crt shader will look better. Will it be real crt level of improvement with 8k?

I mean the scanlines becomes a little blurry for a second then returns and when still it preserves its sharpness and detail.

This has to do with the LCD technology; it’s a hardware limitation.

Higher resolutions (4K, 8K) won’t do anything for motion blur. The solution is black frame insertion, but this reduces brightness by 50%, so you need a very bright display. The other alternative is a display with a 1000+ Hz refresh rate.

Edit: honestly, if you want every quality of a CRT, then the best solution is to just get a CRT. Otherwise, you can emulate all the details visible at normal viewing distance (scanlines, phosphor glow, blur) quite well with current shaders.

1 Like

Thank You. This is unfortunate. I was thinking that 8k would be the solution but it is not. Lcd motion artifact is the problem. I guest I will have to get a crt at some point in the future.

1 Like

@Nesguy Thank You for the very for the informative info. I really appreciate you took the time to make me understand. I will take your advice about shadow mask. In the meantime I will stick to CRT-Aperture or guest-dr-venom.

1 Like

Alright, I (sort of) take back what I said about masks. A low enough TVL will be visible at correct viewing distance. Around 500+ TVL is going to be invisible at the closest correct viewing distance. 250-400 TVL should still be visible.

So, that said, here are what masks should be used at each resolution if you want to actually see any mask detail at the correct viewing distance. I’ve omitted those that cause chromatic aberration and/or do weird things to gamma.

720p - CGWG aperture grille, CGWG dot mask, masks 5 and 7 in guest-dr-venom

1080p - Lottes stretched dot mask

1440p - Lottes stretched dot mask, Lottes “vga-style shadowmask”

4K - Lottes vga-style shadowmask (maybe 8x scale max?), magenta/green slot mask, some aperture grille variants, probably a few others I’m forgetting

Also, the guest-dr-venom black and white slot mask can be used at any resolution because it has parameters to change the size of the pattern. Neat! It also has no detrimental effect on image quality as far as I can tell (besides the obvious loss of brightness and contrast).

Everything else I mentioned still applies - LCD motion blur, random motion/color artifacts when using masks, incompatible subpixel structures and an overall lack of brightness are all obstacles one faces when trying to do mask emulation.


I feel that this is the correct stance to take. Videogames are a business and the money was in the arcades and I am sure that this is what most companies aimed for.


If you want to display the games how they were actually displayed, then low TVL slot mask is the way to go because 1. this was what the vast majority of people had in their homes; 2. arcades exclusively used slot mask monitors (AFAIK). Somehow, PVMs/BVMs and aperture grille became a meme and everyone on the internet convinced themselves that this is the best way to display retro games. It’s true that the PVMs/BVMs are superior when it comes to objective picture quality. So, it just depends on whether objective picture quality or a more authentic presentation is more important to you.

1 Like

I am sure that many of us have thought of it but I’ve not seen it mentioned: Does anyone know anyone in the industry who could answer this definitely? Someone who worked for a ‘AAA’ studio at Nintendo, Sega, Konami, etc who might be able to answer this question. The path to enlightenment is clear but we need people who have a connection to the big players.

1 Like

I think it’s unequivocal that the games were intended to be played on low TVL CRTs since that’s what existed in arcades and people’s homes. It would, however, be interesting to ask the game artists if they think their work looks better/worse on a PVM/BVM/etc. This would still be of limited usefulness when it comes to making generalizations, though. Some artists might think their art looks great when displayed on a PVM, others might think it ruins their work.

@Nesguy Here is some info related to what you where talking about the future of lcd motion by the founder of blur busters. Please everyone click the link below in which goes into more detail. Maybe someone can contribute to that thread or come up with some ideas or incorporate in future emulation.,162926.0.html?PHPSESSID=kf3icusc9s41ejj2bppdo0ffcm

blur busters says: "240Hz 1ms IPS panels Appear To Be Excellent 60Hz MAME Arcade Panels**

I want to mention the discovery that strobed 240Hz 1ms IPS panels have excellent 120Hz hardware strobe + 60Hz software BFI. No color degradation, no patterns, no chess board artifact, no vertical lines artifact, no horizontal lines artifact. It just looks like a beautiful 60Hz CRT.

The reason is that LCD GTG is easier to hide in the blanking interval at higher refresh rates. For example, a 240Hz panel is a 1/240sec scanout. When you reduce the refresh rate, you have a 120Hz panel at 1/120sec scanout (8.3ms). So the panel is idling for 8.3 milliseconds, whether or not you’re using software BFI or a hardware strobe backlight, or both (using software BFI to reduce the strobe frequency of a hardware strobe backlight, like 120Hz LightBoost + 60Hz BFI).

The bottom line is that on 240Hz monitors, 1/120sec (or less) visible, 1/120sec (or more) dark is now easily possible. This is now a humongous full 1/120sec 8.3 milliseconds to hide LCD GtG in a black frame (black frame, or backlight turned off). On good panels, this dramatically reducing artifacts, and massively improving quality and reducing strobe lag.

Goodbye crappy LightBoost . The ultrafast refresh of high-Hz monitors, gives plenty of opportunity to reduce display motion blur with fewer artifacts caused by LCD pixel response limitations. Even 1ms GtG hyped with 5ms GtG realworld, still fits into that 8.3 millisecond blanking interval – an opening big enough to drive a slow GtG truck through.

I recently tested ViewSonic XG270 240Hz 1ms IPS panel (a Blur Busters Approved monitor), with the latest firmware, 120Hz PureXP+, software black frame insertion, GroovyMAME to enable software BFI. And with PureXP set to brighter levels (PureXP Normal), it just looks much closer than before to a Sony FW900 CRT in colors and motion clarity (except for the grey blacks). It’s much better than old-fashioned LightBoost.

The IPS panel eliminates lots of TN artifacts, and the faster “1ms” IPS panels avoids the strobe crosstalk, and the better IPS colors, combined – make 240Hz IPS panels become excellent 60Hz MAME cabinet panels if you want motion blur reduction.

  • Less dimming for BFI
  • No ugly chessboard patterning for BFI
  • No ugly color depth loss for BFI

360Hz IPS monitors are coming this summer (DELL is creating one) so “High Hz” and “IPS” are no longer mutually exclusive! Also, higher Hz reduces input lag, because a 240Hz monitor can deliver a “60Hz refresh cycle” in 1/240sec. So the refresh rate race still helps 60Hz emulation, because of lower latency + more accurate CRT emulation (less blur)!

Software BFI Feature Request for GroovyMAME (Very easy change)

Some 240Hz monitors don’t have software BFI, but it’s possible to have adjustable brightness-vs-motionblur via custom duty cycles.

Several of you have seen but the test was improved to show duty cycles (e.g. 2 black frames + 1 visible frame) to create different amounts of display motion blur.

View this on a 240Hz monitor: 60fps Software BFI on 240 Hz at 25%, 50% and 75% Duty Cycles (Don’t bother to see this on a 60Hz monitor, it will flicker at 15Hz)

240Hz-compatible and 360Hz-compatible BFI can be a useful additional flexibility adjustment, given refresh rates are going up.

Is there a way to adjust BFI duty cycle in GroovyMAME, as I wasn’t able to customize duty cycle of 25%, 50% and 75% for 240Hz BFI. Or is this a feature request? Some people want more brightness and reduced flicker, while others want the least motion blur (closer to CRT).

Future 1000Hz Monitors (ETA: 2030) to Achieve "Temporal HLSL" (Harder change, longer-term future)

Some of you may be familiar with the Blur Busters writings, such as Amazing Journey To Future 1000Hz Displays, as well as Frame Rate Amplification Technologies (future cheap 1000fps GPUs), and others such as Stroboscopic Effect of Finite Frame Rate Displays. Most of these are more relevant to modern games, not emulators.

However…1000Hz makes “Temporal HLSL” possible!

ASUS already has planned a 1000Hz monitor in a decade, as confirmed to us, to PC Magazine, and to a few others, so 1000Hz prototypes are already being developed, though it’ll probably be a decade before they hit the market.

But there’s also exciting possibilities for future CRT emulation algorithms. Basically a “temporal HLSL”. HLSL is currently spatial, but with 1000Hz, HLSL can go temporal too ( emulate CRT scanning! ) By the time 1000Hz monitors arrive, we’ll finally be able to emulate 1ms CRT phosphor (1ms refresh cycles), even perhaps via a software-based segmented rolling scan.

Exciting possibilities for correct temporal emulation of a CRT tube on an high-Hz OLED panel or high-Hz FALD IPS panel with perfect blacks. (Desktop FALD for great LCD blacks is expected to fall below $1,000 by year 2025, making them practical for MAME arcade cabinets).

I’d argue that 360Hz is the right time to begin programming a “Temporal HLSL” (e.g. software based 6-segmented rolling scan with gamma-corrected alphablends on overlapping segments), with preparations to scale it towards 1000Hz.

Temporally emulating a CRT electron gun realtime at the sub-refresh level!!!

(It could also theoretically be combined with beamraced VSYNC to synchronize emu-raster to real-raster, to do this virtually laglessly for original-machine latency on original tubes)".


There is also a RetroArch Feature Request: (BFIv3) Emulate a CRT Electron Gun Via Rolling-Scan BFI at GitHub retroarch with a $500 to $700 source code bounty. Here is the link:


This looks really interesting especially since I’ve been thinking about upgrading to one of those newer monitors in the near future. I wonder how long it would take to get that implemented if all the funds were available.

1 Like