New CRT shader from Guest + CRT Guest Advanced updates

Fiddling with gamma in and gamma out allowed me to mostly control the gamma, and indeed without any ringing artifacts! Thanks!

A curious side effect was that it changed the way Glow worked. I had to dial it down a lot because it was glowing like hell after increasing gamma out. I feel like I’m cheating and shouldn’t be touching gamma in/out.

EDIT: I have mask gamma set at 1.6 because I like to see the mask details, and increasing it hides the details.


Some Shots of the Guest HD version :grinning:

RetroArch Screenshot 2022.07.22 -


This one kinda looks arguably better on my 4K OLED TV than the Mask 6, Size 2, Height 2, Width 3 that I’m currently using especially when viewed from close to the screen.

I was even asking @guest.r if it was possible to have the black gap be 1 pixel high and 1 pixel wide like Sony Megatron Color Video Monitor and this definitely answers that question.

It’s still not perfect on my OLED TV because the TV creates an additional vertical black gap between the red subpixel stripe and the green subpixel stripe but since it’s only 1 subpixel wide it’s not that noticeable unless you’re extremely close to the screen.

Two other things I’ve noticed is that this pattern comes across as a bit smoother/cleaner than the other with less vertical artifacts being seen. It’s also brighter than the previous settings due to less black subpixels being used.

I’ll be doing some more experimentation using these settings. Most likely I will add new Slot Mask Preset variations using them. I doubt they’ll replace the existing ones as they also look great, especially on non-OLED displays.


Yeah I noticed that too! I’m using an LG C1. But as you said, it’s not visible from a normal viewing distance, and the added brightness is always welcomed. No need to compensate as much.

Make sure you ping us when you add them. I want to check them out!


The "-hd` preset is pretty much that. You can set “internal resolution” to 1.4 for a slight horizontal color blend, which would be normal for a normal CRT TV.

Note that this option behaves somewhat weird. I’ve found that only 1.4, 1.9 and 2.5 look good. 1.0 is the default and the sharpest setting. Values higher than that start to do horizontal blending. 1.4 seems to resemble a typical, non high-end CRT TV with scart.

Values between these distinct steps are too blurry and just look wrong to me.


I think the real advantage is that the triads simply look more like triads using Mask 12 on an OLED TV. Besides the seemingly unavoidable extra black vertical line, what really kills the effect for me is the almost overlapping appearance between the rightmost blue subpixel stripe and the leftmost red subpixel stripe. It makes the blue subpixel appear a bit undernourished compared to the red and green ones.

The improved separation created by Mask 12 allows the Blue subpixel to finally flex its muscles.

I wish I could ping every single one of the possible thousands of users of CyberLab Mega Bezel Death To Pixels Shader Preset Pack. Lol

You should click the bell icon and subscribe to the thread because I usually update it quite often. However as the presets approach a level of maturity, I find that there’s less and less to be done.

Slot Mask using Mask 6 on an LG OLED E6P -

Horrible overlapping blue and red subpixels.

Slot Mask using Mask 12 on an LG OLED E6P -

Game changing! Major improvement!

Slot Mask using Mask 12 with Mask Layout 1 (BGR) on an LG OLED E6P -


Do we need it to be more accurate than this?

This explains why when using Mask 6 Size one using Trinitron mask settings the only time I could see anything resembling RGB was when I switched the layout to BGR. I also documented my findings of seeing that weird order of subpixel colours - Red, Blue, Green instead of the expected Blue, Green, Red.

Alignment seems spot on or at least much better than when using Mask Layout 0 (RGB).

Have we finally resolved what seemed to be one of the biggest disadvantages of using current OLED TVs for CRT Emulation?







Hmmm interesting. :thinking: That black line between the red and green looks more pronounced than on my TV. I’ll have to check it out later in detail.

Mind taking that same photo but switching to BGR mode?


I Managed to make it brighter without losing black detail :grin:. I love it more :heart_eyes:… One thing, this game is in 8:7 natively, which is best for the shader, 8:7, Core provided, or 4:3?.. here are some examples…


From the 2018 models LG Display changed the subpixels a bit by increasing the size of the red subpixel by about 80%. This is due to the red subpixel being used more often than the others and therefore more prone to being worn out faster leading to the chance of burn-in setting in earlier.

My TV is a 2016 model. The red subpixel is possibly just slightly larger than the others in my model.

Sure, I can do that when I get a chance.

1 Like

The shader doesn’t care. It will scale it to whatever AR you want.

1 Like

Ok, Thanks, the only thing is that in 8:7 looks crispier that’s why I was wondering…

1 Like

Just uploaded the photo you asked for @nfp0! I added it to my post with the photos from earlier today.


I’m still not sure if we’re looking at pixels or subpixels, or what the actual subpixel layout is. Is it possible to make this look like CRT phosphors by increasing the brightness?

1 Like

Ah yes, I’m aware of that red pixel increase on current models. Since we’re on that subject, make sure you have the “Pixel Shift” feature enabled on your TV, so that the wearing of the slot mask triads get distributed evenly thorough the OLED pixels. I imagine it might help greatly in avoiding specific subpixel burn-in.

Yes! The gap on the red subpixel looks much better on the BGR layout on your TV. Albeit there’s now slightly less separation between triads, but that might not be a big problem. I gotta try the same and compare between RGB and BGR mode on my TV.

And yeah, I still don’t know why the BGR layout is actually RBG. Is there any explanation for that?

1 Like

Mask 6 at size 2 would be RRGGBB, while 12 (formerly 13) at size 1 would be RRGGBBX. I think that is what we’re looking at here. Whatever unit each letter represents in the triad is what we are seeing being represented in the images. Please correct me if I’m wrong.

We’re dealing with Mask 6 Size 2 level stuff here and it’s 4K alternative Mask 12 (formerly 13) Size 1.

So not subpixel level. I think we’re seeing 2 subpixels from neighboring pixels representing 1 colour of the triad. I’ll sure someone can correct me if I’m mistaken.

The real triumph here is that this is the first time I’m actually getting RGB triads to actually look like triads with even amounts of each colour and in more or less proper alignment on an OLED TV. Can’t you remember how crazy things used to look before this?

It’s proof that OLED TVs can in fact be suitable for displaying CRT masks (of at least certain types) whereas previously, I didn’t think it was possible.

It also brings to light that we should be using BGR for OLED TVs instead of RGB.

It still may not be perfect but it’s a huge improvement for OLED users.

All I probably need to do is increase the ISO on my camera but these shots were intended to analyse the structure and behaviour of the mask on the TV at the triad level and they served that purpose well.

I’m open to performing other tests if you would like to collect other types of data.

1 Like

I think it’s just the way the TV accepts the signal and presents it to the subpixel structure on the panel. The TV designers most likely didn’t design them with uses like this in mind so all they needed to achieve was paint the right colours at the pixel level, how they went about achieving this at the subpixel level would have probably been determined by different factors, including the characteristics of the technology.

I was wondering if it would be possible after learning more about the actual behaviour of these WOLED subpixels (not just brushing them aside due to RTINGS subpixel measurement images) if we can manipulate things at the Shader level in order to get them to output things the way we want or at least get some improvements over what is available today.

So I’m suggesting more experimentation.

Thanks a lot for the support and inputs @nfp0!

Looking forward to seeing some photos of your newer model OLED TV!

It most definitely is on. I’ve been using my OLED TV in my HT/Gaming PC setup since about February, 2016. I have no noticeable burn-in whatsoever. The only thing I noticed is that I have a dead pixel on the left edge of the panel. I hardly even see that.

I probably spend considerably more time with the default Mega Bezel carbon fiber background being displayed than before, but my usage is mixed because I also watch TV almost every day as well.

Still, I bought this TV to use it and enjoy it, I’m going to take care of it but I’m not going to sacrifice image quality and brightness by neutering my OLED Light level.

One thing I would strongly advise against though is attempting to play a game like Civilization 5 or 6. Those games suck you in so deep that they’re almost guaranteed to cause some sort of image retention because sessions can end up being extremely extended.

I mean I played about 2 games of Civilization 5 and did suffer some temporary image retention but the Clear Panel Noise (Pixel Refresher) took care of it.

I actively avoid that game though, although it’s one of my all time favourites.

1 Like

This obviously depends on your preferences. Pixel-Perfect native is unrealistic in terms of ratio in most cases (although some games can be drawn on that basis making it defacto a correction). Core provided should in most cases be more realistic. Some cores don’t implement correct ratios at all, requiring custom scaling.


That would not be possible. Mask 12 uses 2 pixels for each column, so that rules out any TV processing or subpixel arrangement.

Also, look at this screenshot: image

It’s clear the shader is producing RBG triads instead of BGR. Is there a reason for this @guest.r ?


No problem at all! I’ll be sure to post photos from my TV when I get the chance, to see if there’s any big difference in subpixel structure between WOLED panels. In fact… I believe I already posted them somewhere, maybe on another thread. The Sony Megatron thread, I believe :thinking:

But all things considered, I believe triads with 2-pixel-wide colors are good enough for WOLED panels because the fact of each color being composed by 2 pixels, halves the effect of the OLED subpixel structure and seems pretty invisible to me at normal viewing distances. And the fact that pretty much all OLED TVs are 4K, means everyone will use 2-pixel-wide mask colors on them. And also, I struggle to see any difference in switching between RGB and BGR modes from a normal viewing distance on my TV, which means subpixel stucture is not that important here, unless I wanted to use 1-pixel-wide masks, which are almost useless for 4K.

Yeah, same here. The only thing I keep on is the “Pixel shift” feature, because it doesn’t alter the picture at all, and helps greatly in reducing burn-in with fixed stuff, like a CRT mask. :slightly_smiling_face:

And yeah, Civilization games might really be worst case scenarios haha.

1 Like

It starts with red due to implementation. BGR is otherwise just a naming, there aren’t set ruls which color is the ‘first’ in row. Otherwise the layout is not to be changed to BGR if you use a RGB panel. The ‘last’ black pixel is there to ensure better subpixel spacing.