ARCH R

Shaders

RetroArch shader presets — CRT scanlines, LCD grids, etc.

RetroArch ships with hundreds of shaders that recreate CRT scanlines, LCD grids, NTSC artifacts, etc. ArchR enables them but defaults to off — A35 + Mali-G31 is tight, and naive multi-pass shaders will halve your framerate.


Try a built-in shader

Launch a game

Any libretro core. Standalones (PPSSPP, Flycast, etc.) have their own shader systems; this guide is for libretro/RetroArch.

Open the menu

MODE + X → Quick Menu → Shaders.

Set Video Shaders to ON

Then Load Preset → browse shaders_glsl/.

Pick a preset

Recommended starting points for the R36S 480p panel:

File pathUse case
shaders_glsl/handheld/lcd1x.glslpLCD grid for GB / GBA / NDS
shaders_glsl/handheld/lcd3x.glslpSharper LCD grid
shaders_glsl/crt/crt-pi.glslpLight CRT for arcade
shaders_glsl/scanline/scanline.glslpJust scanlines, ultra-cheap

The preset applies immediately. Back out of the menu to play.


Save the preset for the system

In the Shaders menu, SaveSave Game Preset (just this game) or Save Core Preset (every game on this core) or Save Content Directory Preset (all games in this folder).

Per-game presets land in /storage/.config/retroarch/config/<core>/<game>.glslp. Per-core in /storage/.config/retroarch/config/<core>/<core>.glslp.


Build a custom multi-pass preset

The example below is the canonical "GBA real hardware" look — color-correct + LCD grid in two passes:

Open Shaders, change passes to 2

Quick Menu → Shaders → Shader Passes → 2.

Pass 1 — color correction

Click pass 1 → browse to shaders_glsl/handheld/ → choose vba-color.glslp.

Pass 2 — LCD grid

Click pass 2 → browse to shaders_glsl/handheld/ → choose lcd1x.glslp.

Apply

Hit Apply Changes.

Tune parameters

Shader Parameters is where each shader exposes its knobs. For this combo:

  • Darken: 0.25
  • Brighten Scanlines: 28.0
  • Brighten LCD: 6.0

Save

Back at the Shaders menu → Save → set Simple Presets to offSave Shader Preset As → name it (e.g. gba-real-hw).

The named preset shows up under Load Preset the next time, and is also selectable from ES → Game Settings → Per System Advanced Configuration → Shader Set.


Performance budget

The R36S has very little overhead for shader passes. As a rule of thumb on RK3326 with overclock OFF (1.4 GHz CPU + 650 MHz GPU):

TierOk?Examples
1 cheap passscanline, lcd1x, vba-color
1 expensive passusually ✅crt-pi, crt-easymode
2 cheap passesusually ✅gba-real-hw (vba-color + lcd1x)
2 expensive passes⚠️crt-royale, crt-aperture-grille
3+ passesmost CRT-Royale variants

Dreamcast / N64 / PSP cores already eat the GPU; even a 1-pass shader on top can drop you below 60 fps. Reserve fancy shaders for 8 / 16-bit cores.

Toggle Enable CPU Overclock if you want to try heavier shaders — see Overclock.


ROCKNIX-style shader sets via ES menu

ES exposes a shader-set picker without going into RetroArch:

ES → Game SettingsPer System Advanced ConfigurationShader Set → pick from the dropdown.

This applies the chosen shader to every game on that system. Useful as a quick toggle. Custom presets you saved earlier appear here too.

On this page