Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate and Anbernic affiliate, we earn from qualifying purchases at no extra cost to you. Learn more.
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
