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 includes them with shaders turned off by default. Shader cost depends on preset, resolution, core and GPU driver.
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
Open the RetroArch Quick Menu (the hotkey is listed in Controls) → Shaders.
Set Video Shaders to ON
Then Load Preset → browse /tmp/shaders/.
Pick a preset
Recommended starting points for the R36S 480p panel:
| File path | Use case |
|---|---|
/tmp/shaders/handheld/lcd1x.glslp | LCD grid for GB / GBA / NDS |
/tmp/shaders/handheld/lcd3x.glslp | Sharper LCD grid |
/tmp/shaders/crt/crt-pi.glslp | Light CRT for arcade |
/tmp/shaders/scanlines/scanline.glslp | Just scanlines, ultra-cheap |
The preset applies immediately. Back out of the menu to play.
Save the preset for the system
In the Shaders menu, Save → Save Game Preset (just this game) or Save Core Preset (every game on this core) or Save Content Directory Preset (all games in this folder).
RetroArch writes these presets into its own config directory. Check where the file landed before relying on the path.
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 → choose /tmp/shaders/handheld/shaders/color/vba-color.glsl.
Pass 2, LCD grid
Click pass 2 → choose /tmp/shaders/handheld/shaders/lcd1x.glsl.
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 off → Save Shader Preset As → name it (e.g. gba-real-hw).
The named preset shows up under Load Preset the next time.
Performance budget
Shader cost depends on preset, resolution, core and GPU driver. No per-shader measurements are published for RK3326 yet, so try a preset on the game you want to play and watch the frame rate.
CPU turbo does not raise the GPU clock (see Overclock).
Per-system shader sets in system.cfg
setsettings.sh also reads <system>.shaderset (or global.shaderset) from /storage/.config/system/configs/system.cfg before launching RetroArch, applying the chosen shader preset across every game on that system.