Can't find working deinterlacing shader for Amiga

Hi all, I’ve been playing some Amiga 500 games, specifically Soccer Kid, and the output is interlaced. I’d like to deinterlace it. I’m pretty new to RetroArch so if I’m missing something basic, please let me know.

I’ve found some cg shaders in the common-shaders directory, eg bob-and-ghost-deinterlace.cg. It’s located in common-shaders/misc/bob-and-ghost-deinterlace.cg. At first I was confused, because under “Load” only .cgp files showed up, but after playing around a bit, I’ve found that I can change “Shader Passes” to 1, and then in there, I can load bob-and-ghost-deinterlace.cg or bob-deinterlace.cg. However, they have no effect at all. So what do I do for deinterlacing?

Also some .cgp files work while others don’t do anything. For example, if I load up shaders_cg/eagle/super-eagle.cgp, then the shader passes load up (Shader #0 is super-eagle.cg and Shader #1 is stock.cg). However, loading super-eagle.cgp actually doesn’t do anything - the image is exactly the same as it was before. Meanwhile, loading up shaders_cg/mudlord/oldtv.cgp creates an old tv effect with cresting, distortion, noise, etc. However I haven’t been able to find a shader preset anywhere that deinterlaces things.

Why doesn’t the super-eagle.cgp shader preset work?

An additional issue I have is that I’m running this on a Steam Deck. RetroArch is installed using a FlatPak, and that means all the shaders are in a place that I can’t (and shouldn’t) write files to. How do I create a .cgp this way? What should I do? Do I absolutely need .cgp files, or can I just load a .cg file, click “Apply Changes”, and it should work?

Thanks

Just a general note: we recommend migrating to GLSL shaders with the default “gl” video driver or, preferably, switching to glcore so you can use the more modern/flexible/powerful “slang” shaders.

You can often load bare passes (i.e., cg vs cgp) for single shaders, but multipass effects frequently need metadata from the preset files to function properly.

If you need to edit a preset, you can just go to settings > directory and change your shader directory to somewhere more accessible (ditto for pretty much any directory that RetroArch uses).

Super-eagle and pretty much all of the other smoothing-type shaders use pixel analysis and pattern detection to function, and this process breaks if the input has any pre-scaling. This will also sometimes break the deinterlacing shaders. It sounds like your image might be getting line-doubled somewhere…? Did you enable any video filters in settings > video, by chance? That’s a common culprit.

1 Like