Analog Shader Pack version 3 is HERE!

I’m sorry to hear about your family :frowning: . Glad to hear about v4! For me, the analog shader pack is the only one able to reproduce arcade look with enough fidelity. I hope it stays the same or better.

That is great to hear. This shader pack is basically what attracted users like me to RA despite it’s unintuitive user interface, so I hope things work out on your end.

Slightly offtopic, but I highly suggest you look into the original GPD Win if you think the Nvidia Shield is pretty good. Having a portable x86 Windows machine makes dealing with RA so much easier (PS1 dynarec aside).

I believe that is a good decision. V3 was good, but some of the shaders seemed too similar to each other and it got confusing recognizing the differences. Best of luck.

Super excited to see you’re working on v4. Came across this post looking for more options for CRT shaders for the Shield and these look fantastic but was disappointed there was no Vulkan support. I also agree the Shield is a fantastic emulation machine and it’s also replaced my other options also (although I still keep a pi3 in my arcade cab…).

Anyway, thanks for the hard work to now and eagerly awaiting V4!

Glad to see you back and active again, it can be rough with that kind of circumstance.

My biggest question is will this have the same incompatibility with AMD cards that the last set had?

The last pack depended on some Cg blur shaders that were the source of the problems. Those shaders either work or don’t exist in GLSL/slang, so no worries.


First off, thank you so much @solid12345 for this shader pack. It’s absolutely incredible and your artistry in recreating the CRT doesn’t go unappreciated.

A few months back I spent a fair bit of time porting my all time favorite shader variant (Slotmask Sharp > S-Video) to GLSL to use on my iPad build of RetroArch. (Side note: please include that one in your next shader pack as it is IMO one of the best recreations of a standard TV from the 90s ever!)

I wanted to let you know I had to make local changes to RetroArch source code in order to get some of your shaders to work. In particular anything that uses a floating point texture as part of the shader pass simply won’t work on OpenGL ES devices without a code change. I tested the latest public build of RetroArch on my nvidia shield tv and had that exact issue with my GLSL port of your shaders, where-as it works fine on my iPad with the code change. I was going to try working with the programmers to get a proper solution in, but just wanted to give you a heads up in case you were banging your head against the wall wondering why a shader looked one way on your PC and another on your shield. In particular, the NTSC shaders that convert RGB->YUV and back are problematic because between shader passes they temporarily hold RGB values that are outside the 0->1 range, and end up getting clamped back to 0->1 on OpenGL ES devices.

Hope that helps, and big fan of your work!

Hey, whenever I try to load one of the presets in this shader up, absolutely nothing happens. Any reasons?

A bunch of them are broken on Intel/AMD because they use a blur shader that only works with Nvidia GPUs due to a limitation in the Cg profile exposed to non-Nvidia GPUs.

Ah, thanks, shame though.

Hi all!

Any news about the new verison?

Will the new slang shaders be compatible with gl drivers or it will be mandatory Vulkan?

Great job, the Analog Shader Pack 3 is awesome. I’m impatient to see the new version.

Slang shaders do not currently work with the GL driver, though that could change at some point. They are currently compatible with Vulkan, d3d10, d3d11 and d3d12 drivers (and Wii U).

Thank you hunterk.

I use gl because I’ve read some cores (I don’t know which of them) are incompatible with Vulkan and all cg shaders Works pretty well with my nvidia card.

May be I could be wrong but I’ve tested some GLSL shaders, like CRT Royale, and seem to be a bit different than its CG versión. I think the CG version is slightly better.

The only difference between Royale Cg and GLSL/slang is the curvature code, which straight-up doesn’t work on GLSL/slang. Everything else is identical AFAIK.

At some point, though, Cg will no longer be available, as Nvidia killed it more than 3 yrs ago. We will try to keep it available as long as possible but it’s out of our hands at this point.


Any news?


News, please!


1 Like

I need help removing the borders from the The Zenith shader. Anyone knows how? I made a separate thread, but I got stuck even with some help I got.

I was trying to make a S-Video version of Vintage-Le37 edition, unfortunately when you change shader 1, even to the same exact one it points to in the path, it breaks the shader entirely.

I managed to fix it by just going into the raw file data for and changing it to the s-video version of shader 1, the problem is still there though (Retroarch breaks the shader on adjustment). This may have something to do with file paths, but I don’t see why.

I converted those cg shader to glsl shader (except and, they couldn’t get converted…) so there is eight shaders to combine, I made custom glslp and combine those eight shaders in order from cgp file.


It works! maybe it isn’t perfect but it works on android! it looks really cool. i found it is so heavy because the number which is used in glslp are eight, It occur stuttering a bit but it is playable. thanks for your work:)


Think you can post a link to your converted Wega RGB shader located in the Televisions/Flat screens/Wega folder? That’s the main shader I love for everything 8/16/32 bit and would love to get that running on the Shield TV.

I have a Ryzen 2200g. What video driver do I use, a lot of the shaders are crashing even on a new install of retroarch?