RetroArch shaders are GPU filters that post-process your game's output in real time, adding authentic CRT scanlines, LCD grid overlays, or sharp pixel-art upscaling. Here's how to get started.
Understanding Shader Types
CRT Shaders
Simulate the look of old cathode-ray tube TVs — with scanlines, bloom, and curvature. Best for: NES, SNES, Genesis, PS1 games.
Top picks:
CRT-Royale— Most accurate, GPU-intensiveCRT-Geom— Balanced quality and performanceCRT-Hyllian— Lightweight, great for handheld devices
LCD Grid Shaders
Simulate the pixelated grid of original Game Boy or Game Boy Color screens. Best for: GB, GBC, GBA games.
Top pick: LCD3x — Classic portability feel.
Upscaling / Integer-Scale Shaders
Cleanly scale pixel-art without blurring. Best for: Any pixelated game when you want crisp, clean output.
Top pick: xBR or HQx series
How to Enable Shaders in RetroArch
- Load a game in RetroArch
- Open the Quick Menu →
Shaders - Select
Load Shader Preset - Navigate to
shaders_glsl/orshaders_slang/and pick a preset - Select
Save Game Presetto apply permanently for that ROM
Performance Tips
Heavy shaders like CRT-Royale can drop frames on weaker SoCs (Allwinner H700, etc.). If you experience slowdown:
- Switch to
CRT-GeomorCRT-Hyllianinstead - Lower your internal resolution to 1×
- Enable
Threaded Videoin RetroArch settings
retroarch shaders visual all devices