Shaders are efficient graphics filters that can greatly improve the rendering of old games.

They can also be used to replicate the look and feel of old CRT monitors.

You can even stack them to create your own effect. The possibilities are infinite.


RetroArch is shipped with a lot of shaders. There is an overwhelming array of them and we can't show all of them on this page.

Here are a few common examples:

Shaders can also be used to display the handheld border:

Shader languages and shader presets

Shaders are small programs, and they are written in specific programming languages. RetroArch supports 3 of these languages:

Depending on your platform and the way you have configured RetroArch, you need to use one of these shader types.

RetroArch is also able to stack these shaders to create a combined effect. These complex effects are saved with a special extension:

The shader presets can also have parameters. This means that you can tweak them to fit your needs.

Downloading and upgrading shaders

You can download or upgrade the shader packs for the 3 types in Main Menu->Online Updater.

Loading a shader preset

To enable a shader preset, you need to have a game running.

You then trigger the menu and you should see a Shaders entry in the Quick Menu.

Go to Load Shader Preset and choose a preset file.

For this example, we used shaders_glsl/crt/crt-geom.glslp.

Configuring a shader

In this example, we have set the Menu Shader pipeline to OFF and the Background Opacity to 0 in the Settings->User Interface->Menu to be able to preview the parameter changes in live.

Load a game and apply a shader preset that supports parameters like shaders_glsl/crt/crt-geom.glslp.

You then trigger the menu and you should see a Shaders entry in the Quick Menu.

Go to Preview Shader Parameters and start playing with the values.

When you are happy with your changes, you can save them under a new preset file.