Please show off what crt shaders can do!

it’s a very good pleasure that you keep on with modding and updating your wonderful presets buddy. Thanks to you as well for the variety and awesome looking. Always looking for new updates !


Hi, nice collection of presets.

Would it be too much if you could create a folder (like the other Mega collection authors did) with your pack? (that’s because when I unzip your presets, they have to be located along with many other presets I use and then everything gets very confusing and crowded inside shaders folder. You could create a folder with your name to be located inside shaders_slang, for example.


Thank you I appreciate that you like my presets. I can whip that up for you and then post up an updated link but I need your help as well. The reason I settled on placing them in the root shader folder is because that’s the only place they load up for me at, any other folder and I get the failed to load message. What do I have to change to get them to load up from the slang_shaders folder or any other folder besides the root folder?

Here’s a log after creating a “sonkun” folder and placing it in the slang_shaders folder then trying to load up a preset:

=== Build =======================================
Capabilities:  ASIMD
[INFO] Built: Jun  7 2022
[INFO] Version: 1.10.3
[INFO] Git: 8ec1f32
[INFO] =================================================
[Vulkan]: Failed to load LUT "/data/user/0/com.retroarch/shaders/shaders_slang/sonkun/shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png".
[Vulkan]: Failed to create preset: "/data/user/0/com.retroarch/shaders/shaders_slang/sonkun/01-ntsc-j-warm-crt-guest-advanced-slotmask-8-16-bit.slangp".
[Vulkan]: Failed to create filter chain: "/data/user/0/com.retroarch/shaders/shaders_slang/sonkun/01-ntsc-j-warm-crt-guest-advanced-slotmask-8-16-bit.slangp". Falling back to stock.

Seems it has something to do with the trinitron lut.png

You’d need to edit all paths inside each preset. That’s why Retroarch can’t find the shaders.

Other way to do it easier is as follows:

  • Create your shader folder inside shaders_slang folder;
  • Now, open Retroarch and enter the config menu-> directory. You need to define a new path to your shaders. Enter directory and then shader path and choose the location of your new folder.
  • Now if you loads a preset, change its parameters on-the-fly and then choose to save this new preset, Retroarch will save in your new folder with correct shader paths inside.
  • So, you just need to load each of your presets and save again, now RA will save in its new location with correct paths.

After you create your presets, you can change again your shader path inside config->directory to the old location.


Ok it’s done. I changed it to where you will now load the shaders from shaders_slang/sonkun. I posted a new link you all can grab in my shader post here.

I guess this works out better so you won’t have 18 presets clogging up your root shader folder especially when I eventually make 4k versions. Thank you for helping me get this situated @Hyllian

Edit: I took things a step further and decided to change the naming scheme a little, since the 3 different types represent composite (8, 16 bit), s-video (32 bit etc) and rgb (arcade) I changed it to where it looked like this:


to looking like this:


Makes things look a little more official now. New link posted in the same spot above.


Not sure if you may have been reported but there may need a little fix in the start instructions to how install your whole project-presets since there seem to be non updated information about it.

CyberLab Mega Bezel Death To Pixels Shader Preset Pack - RetroArch Additions / Shaders - Libretro Forums

I was looking up to install in a different folder but didn’t work … The whole project NEED to be placed in shaders_slang folder (as Cyberlab to be set as the main folder of your project) or I may encounter several file paths that need to be tweaked in order to work.

In instructions says: to place in " Shaders\Mega_Bezel_Packs” folder. " which is not that name anymore. The bezel project comes with just “bezel” folder name to be placed in shaders_slang.

Also, I would like to know if anytime I do replace the files with your future updates then I may get or NOT unexpected behavior from the previous past saved presets. This question is, because I used to have some issue about this when updating CRT GUEST.R files. Since your project seems so big and complex to me, I would like to know because if trying to do anything I may get massive headache later on to find the proper files again and fix each one of the presets.

1 Like

This is thanks to one of your fixes for me to use in 1600x900 screen. Is ever intended to be seen this way in a CRT to crop off some game information from the top ? You gave me some little fix for my specific screen resolution months ago but couldn’t see this stuff happening. I also dont use CRT screens since like 15 years already so I can’t remember if they used to crop the game information like this.

1 Like

Seems like CyberLab Mega Bezel Death To Pixels Shader Preset Pack is making the rounds!

PSA: I use the CXA2025AS palette when designing, calibrating and testing my NES presets so if you use a different palette you may not be getting the optimal experience.

Seems like World of Gameplays is at it again, with even better quality this time!

It looks like World of Gameplays is on a roll today!

CyberLab Mega Bezel Death To Pixels Shader Preset Pack YouTube Playlist

I’m very happy your presets got some youtube attention. I hope it gets way more into the future bud.

Really great job to make all of them possible. I hope in the future can get a more updated proper computer to test them all properly but specially the most performance demanding folder of presets.

1 Like

Appreciate this is an old post, but I’ve been playing with Blargg’s NTSC filters for quite a while and find that the effect that code provides on composite mode to be quite pleasing to my eye at least. I’ve combined it with some simple SDL mask overlays and colour profiling, the obvious problem being that the brightness is reduced somewhat.

Snip with this (screen is only 1920x1200):


Curious to know how do you guys play GBA, do you use GBA hardware colors? I used to think that the games look so washed out but after comparing some screenshots, it’s a big difference. I can’t play GBA without it now :smiley:


Lottes + mGBA color correction raw colors gba hardware colors


Thanks @ynnad4! It has been an incredible journey!

Here’s a look at my latest creation:

You can use MPC-HC, MX Player or VLC Player to view the video.


You have to load full resolution, then open in new tab or window, zoom in or view fullscreen in order for these to look correct because of the mask and scanline settings.



i dont manage to play it with fluent 60fps. Some video seconds seem to be lagged while playing. I guess this was recorded either on 1080p or 4k. My GPU manages at best 1600x900 but I cannot distinguish your last creation with previous presets. Any thoughts ? Also, I wanted to know if it’s already available in your presets project to be downloaded. But specially within the 1080p presets. Thanks as always to share these !

1 Like

Did you use the recommended video players? The video is in H.265 format so you need to have your playback setup correctly. For best results you’ll want to ensure that some sort of hardware accelerated decoding is enabled.

It is a 4K video.

This is meant for 4K displays. My primary target is 4K resolution. Sometimes I might attempt to optimize for 1080p afterwards but these particular presets named IV OLED are presets which look great on 4K OLED TVs. They should also look great on regular 4K non-OLED displays as well but the mask layout might have to be flipped to RGB on some if not most displays.

It’s in my Shader Preset pack but not in the 1080p Optimized folder. Slot Mask presets generally require high resolution screens in order to have this level of detail.

I do have at least one Slot Mask preset in my 1080p Optimized folder though.

Using some overscale/overscan tricks, you might actually be able to get my 1080p presets to fit 1:1 (relative to what I would see on my 1080p display) without any downscaling you might just have to allow the top and bottom of the bezel to be cropped off slightly. I’m thinking that you can achieve this by going up 1 integer stop. Maybe you can use integer scale offset?

@Nesguy does it all the time using RetroArch custom scaling and resolution settings.

I’m almost certain that if you disable the bezel and use your Max Vertical Resolution that your viewport will have at least the same number of vertical pixels as mine at 1080p using the bezel and my current scaling settings.

That should net you a nice “free” improvement in quality. At the risk and possible “cost” of losing a portion of or the entire bezel.

If you’re interested in finding out more, feel free to ask.

You can also try to reduce the thickness of the bezel to achieve something similar.

This is something that @HyperspaceMadness, @Duimon or @hgoda90 might easily be able to assist you with.

You’re welcome!

I’ve been trying some shaders on a 4K Panasonic LCD TV a while ago, but some masks look funky. There are some major color shifts with some, and e.g. the mask 7 (BW) from GDV doesn’t look ok at all. BGR/RGB switch shows differences with masks but it doesn’t get rid of the problems. CRT-Lottes Fast for example looks also completely off, like a washed out mess. Is some of this expected behavior because of the resolution? I need to eventually write down everthing and try some options on the TV, e.g. there is a gamut mapping option, but the manual nowhere states anything about the TV capabilities regarding this, or mentions any color subsampling going on etc.

1 Like

crt-lottes can be very good with some tweaked params:


What model TV is it? Not all TVs support RGB 4:4:4 at all resolutions and refresh rates. What colour format is your graphics card outputting to your TV? Do you have HDMI Deep Colour or Wide Colour Gamut enables in your TV’s settings?

You might also have to try larger mask sizes.

nice! could you share the preset?

1 Like
#reference "shaders_slang/crt/crt-lottes-multipass-glow.slangp"
hardScan = "-6.000000"
hardPix = "-5.000000"
warpX = "0.000000"
warpY = "0.000000"
maskLight = "1.500000"
brightBoost = "1.100000"
hardBloomPix = "-2.000000"
hardBloomScan = "-2.000000"
bloomAmount = "0.300000"
shape = "2.000000"
DIFFUSION = "0.030000"

It’s a Panasonic TX-43JXW604. I made sure to set the Nvidia control panel was set to RGB and the HDMI setting matched the TV. It occured to me afterwards that I could probably just launch the 240p suite to pin any color shifts better down :roll_eyes: Gonna be a while till I get to test it again though.

1 Like