New sonkun crt guest advanced presets thread

Welcome to the new crt guest advanced presets thread. Here I’ve taken @guest.r’s amazing crt advanced hd and ntsc shader combined with a variation of @Dogway’s grade shader and created Shadow Mask, Slot Mask and Aperture Grille crt shader presets for you all to enjoy.

“A mix of basic crt attributes that invokes a nostalgic vibe with a modern twist” is how I’d describe my presets.

Installation Guide:

  1. Change your driver to “vulkan” in Settings/Drivers/Video if you haven’t already, if by chance you get a black screen while using my shaders then use the “glcore” driver instead. Exit RetroArch and then reopen it to make sure your new driver settings stick.

  2. Make sure your slang shaders are up to date by going to Online Updater/Update Slang Shaders.

  3. Download the shader pack below and extract it (In some cases you will also have to download guest.r’s latest shader pack as well as sometimes new features get added that I may take advantage of that are not yet available upstream by just updating your slang shaders. I’ll always include a link to get it under my shader pack download if needed to do so).

  4. Move the “sonkun” folder over to your “shaders_slang” folder so that it looks like this:

And that’s it. You can now load up the shaders just like you would any other.

Download link:

Installation Guide for Android users that can’t reach the root RetroArch folder where the “shaders” folder is follow this guide here.


It’s been brought to my attention and confirmed by a few Linux users that they get a black screen but can still hear audio when loading up one of my presets. It’s been discovered that it was one setting that was causing the issue, the “Contrast” setting which I have set to -20.00.

Simply by hovering on it and pressing start on your controller will default that setting back to 00.00 and you should get an image again. One user reported they had to change it to 00.05 so if you get a black screen this method should fix it up. I assume it’s some kind of bug within the “grade” shader, I’ve alerted the author of that shader (Dogway) about the issue but he has yet to look into it, if any of you want you can also reach out to him as well to let him know about it.

Read notes about my latest pack release here.

For this update you will also need guest.r’s latest shader update for my presets to display properly, you can grab it here.

Installation Guide for guest.r updated shaders:

  1. Download and extract the pack.

  2. Go to wherever you have your RetroArch shaders folder and then go to shaders_slang/crt then delete the 5 guest advance shaders in that folder which are “crt-guest-advanced-fast.slangp”, “crt-guest-advanced-fastest.slangp”, “crt-guest-advanced-hd.slangp”, “crt-guest-advanced-ntsc.slangp” and “crt-guest-advanced.slangp” and replace them with the 6 from the downloaded pack.

  3. From the same crt folder go inside the “shaders” folder at the top and then look for a “guest” folder, delete that then replace it with the one from the downloaded pack that’s also in the “shaders” folder and that’s it, you’re done. You’ve now successfully updated guest.r shaders.


3 shader preset folders for 3 monitor types: 1080p, 1440p and 4k so whichever monitor you have, you can choose the right shader resolution for your monitor type.

Disclaimer - These presets were designed to be used on the three resolution types I’ve mentioned above only, not OLED, 720p or other random resolutions. If you use it on any type of display besides those 3 standard displays I may not be able to help if you run into any issues

If you are using a OLED display the first thing you should change is the Mask Layout setting in the Shader Parameters settings and try changing that to 1.00 (see sample image below)

That should help with lining the phosphors up properly on your OLED and make the overall picture look better.

63 shader presets to choose from per folder with 3 different phosphor types for USA, Japan and Pal that come in



and Cool:

white point temperature types.

Multiple cable types to choose from

Included are shader presets representing 4 cable types to choose from: rf, composite, s-video and rgb.

3 composite types to choose from


“Artifacts” version that has some fringing and rainbow artifacts depending on the game:

Megadrive rainbow version:

Resolution Switching Noise

Included is an amazing shader by @kokoko3k called “crt-resswitch-glitch-koko”. It produces a forgotten crt feature where switching resolutions the screen would give a quick “flicker” on the screen and produce a specific screen noise.


It’s better viewed in action. You can also read more on the topic here.

S-Video presets includes @Hyllian’s “sgenpt-mix multpass” shader to take care of checkerboard dithering and lite vertical line dithering. Here’s an example from Sega Saturn’s version of Mega Man X4:

No sgenpt-mix multpass:

Sgenpt-mix multpass turned on:

Sgenpt-mix multpass is still a work in progress shader so some games may produce weird graphic glitches depending on the game.

My recommended case use with these shaders is rf/composite for all systems from the 4th generation consoles and below (nes, snes, genesis, atari, turbografx etc.), s-video for 5th and 6th generation consoles (ps1, saturn, n64, dreamcast, ps2, gamecube) and rgb for arcade.

Also for nes cores I recommend changing the Palette setting. The two most popular cores are mesen and nestopia. For Mesen you should use the “Original Hardware (by FirebrandX)” setting, for Nestopia use the “NTSC hardware FBx” setting as my composite presets were designed with those pallets settings. Also with Mesen you should change both the top and bottom overscan settings to 8px to avoid harsh moire patterns on the screen.

For Nintendo 64 mupen core with Parallel-rdp settings enabled I also recommend changing the “crop overscan” setting to 8 to help reduce moire patterns that appear on the screen with that setting at default 0.

RF sample pics:

Composite sample pics:

S-Video sample pics:

RGB sample pics:

Choose your preferred screen type

Choose from having a flat screen:

or curved screen:

Both curved and flat presets are designed to fit right inside overlays from The Bezel Project.

The user @thingsiplay wrote an amazing article on my preset pack that goes more into detail with comparison pics and a video. You can read the article here.

Also YouTuber Retro Crisis has made a couple videos showcasing my presets with a installation guide along with showcasing the dithering and transparency effects from the composite and svideo presets, you can check them out here:

I have a YouTube channel as well, not much there but you can check out some of my personal favorite video game osts/bgms there if you want.

I’ve also made a “fast” preset of my Slot Mask preset using the “crt-consumer.glsl” shader. You can check that out here. It’s for 1080p I’m not sure how it looks on other resolutions.

I hope you all enjoy.


is the defaut ntsc preset pal or usa

1 Like

I believe it’s USA. I’m trying to find the readme for Dogway’s grade shader that goes more in depth on the different type of phosphor settings the grade shader includes but not sure where to find it. I know there’s a thread that discusses the shader here though.

Hi sonkun, I am currently working on a comparison post of your Shader presets. While doing so, I encountered an oddity. It happens on all 3 resolutions with integer scale on and aspect ratio 4:3 (on my PC). And it only appears on the s-video variant of your preset. Look at the SONY sign in the middle of the cropped screenshots. BTW the game is Snatcher for Sega CD played with Genesis Plus GX core.


Welcome to the forum! I really enjoy your blog and shader comparisons!

Looking at the svideo shader preset, my first guess is that it is the Gdapt passes giving a false positive on the repeating vertical lines in the logo and blending them.


Yup, it’s more than likely what hyperspace said. I added gdapt into the s-video presets cause I liked that one the best out of the other dithering shader options but I’m also aware that shader sometimes give false positives. I may have to look into the s video presets next and find the best dithering shader option to use


Yeah, you may want to check out Hyllian’s checkerboard dedither, it does a really great job, it’s 3 passes.

It doesn’t address vertical lines, but my experience has been that as soon as you are looking for a solution to the vertical lines situations like the above can occur.


Thank you. I also enjoy this forum and all your guys postings. Reading here for a while and finally was forced to create an account. As for the Shader, I am curious if this can be solved by user settings in the Shader parameters. But it is not a big deal. I only managed to see it because I am cropping it systematically and after a few games, this is the only place I noticed.


I tell you what, I’m at work right now and won’t be home for another 6 hours or so, if you want to put your article on hold for a few hours then soon as I get home I’m going to find a suitable replacement for gdapt so that that logo shows properly and post up a new shader pack update. You’ve been helping me all week on the reddit forums to shape up my presets to what they are now and it looks like this is yet another another step to perfect my presets.

@HyperspaceMadness I want a dithering shader that take up at least 2 passes to replace the first two available stock passes on the guest advanced ntsc shader. Soon as I get home I’m gonna get right on this, wanna make sure I give @thingsiplay a good product for his article.


Well in a case like this you can probably use Hyllian Checkerboard to address the checkerboard and you can use my Blargg_NTSC_Genesis_Composite_CyberLab_Special_Edition.filt aka Blargg_SNES_Custom_Psuedo_MD_Composite.filt or Blargg_NTSC_Genesis_S-Video_CyberLab_Special_Edition.filt aka Blargg_SNES_Custom_Psuedo_MD_S-Video.filt video filter presets to address the vertical lines as a sort of hybrid solution.

It sounds crazy but it just might work!

1 Like

Lol thank you but I’m trying to avoid any blargg video filters and just have the shaders do all the work, after all my end game is to just load the shaders up, set it and forget it so that it’s easy for all end users.

I’ll just head into the dithering folder later and play around with what’s there until something sticks. Maybe that sgenpt-mix shader but I’ll see


Many different dithering patterns were used during 8/16bit era. The most common pattern present in these games is known as checkerboard dithering, which as the name suggests, is basically an alternating color pixel pattern vertically and horizontally.

Another pattern present mainly in genesis games are the only vertical lines dithering. These patterns are blended by the analog crt display and ntsc/pal systems along the analog cable (composite) used to transmit the signal between the console and display.

Now, back to the shaders, it’s important to state that checkerboard dithering is easier to detect than vertical lines. For the latter, only the ntsc shaders/filters set to composite can perform a complete filtering of vertical lines without adding erratic artifacts (it adds some known artifacts as color bleeding and blurring, but not erratic artifacts).

Important: if you are using a ntsc-composite shader, you don’t need other dedither shader.

For Checkerboard Dithering some good shaders are: checkerboard-dedither, mdapt, jinc2-dedither.

For Vertical Lines, I recommend: mdapt, sgenpt-mix.


Yeah totally agree, sgenpt-mix is one that can deal with the most extreme examples, here’s a little experiment I did

No De-Dither

Sgenpt with some high strength


So either mdapt or sgenpt-mix, got it. I can’t wait to get home and put out this update, this should be the final major issue for now for a while. The composite and rgb presets are good to go it seems, it’s just s-video that needs a little love. I’m on it guys


Use them only if the game presents vertical lines dithering. The Sony screenshot doesn’t!

1 Like

Hmm, maybe I need to be home to go more in depth into this. So you’re saying it’s not good to use them as an all around shader? Once I add it to the pass I intend to just leave it there. I need to hurry up and finish this shift so I can test this all out

1 Like

That’s it. You probably need an special preset just to use Vertical Lines dedither, because only a few games need it and justify the artifacts it creates. A more general preset should use only a checkerboard dedither, which is much more artifacts free.


Exactly this,

I think the best all around thing which won’t cause problematic things like the Sony logo is the hyllian checkerboard.


Ok I’m home now and ready to play. So you’re saying I should skip mdapt and sgenpt-mix and just go with the checkerboard dedither shader? Main reason I added gdapt in was for Sega Saturn. I know games on that system didn’t handle dithering properly but I wanted to eliminate that issue with a dithering shader pass.

The next issue is going about adding that into the CRT-guest-advanced-ntsc shader chain and then I’m good to go. If I remember correctly in the past, after guest updated his advanced shader I was unable to add any additional passes to the chain or the whole shader will fail to load.

Is it possible to get a single pass version of that checkerboard dedither shader? Or two pass version that way I can just squeeze it into the first two passes where the stock shaders are? If not I’ll try to get it added in another way

1 Like

Yeah, that would be my suggestion

Yeah, the checkerboard by Hyllian works very well on the saturn dithering, he did a fair amount of testing specifically on saturn.

Yeah, it’s 3 passes and I think it’s unlikely it will change from 3 passes.

The chain was probably failing because there was alias which needed to be shifted to another pass.