Emulator Shaders: CRT, LCD, and When to Turn Them Off
What RetroArch slang shaders actually do, which presets are worth it, and when a shader costs more than it helps on PS1, SNES, and handhelds.
A shader is a post-process on the emulator's picture. It can imitate a CRT mask, an LCD grid, or a smoother scale. It does not emulate the console. If a game will not boot, no shader will fix it. Fix the BIOS and the core first.
What you are actually choosing
Three families cover almost every preset people keep:
- CRT. Scanlines, shadow mask, slight bloom. Best on 240p console games (SNES, Genesis, PS1) displayed on a 1080p or 4K monitor. The point is to break up the raw pixels so edges stop shimmering.
- LCD / handheld. A grid that mimics a Game Boy or GBA screen. Use it on GB, GBC, and GBA. It looks wrong on a home console.
- Scale (xBR and similar). Smooths diagonal edges. Useful if you hate raw pixels and also hate CRT masks. It softens text. Turn it off when you are reading a lot of menus.
Integer scale plus no shader is the sharp reference. Compare a preset against that, not against a screenshot from someone else's monitor.
RetroArch
Quick Menu, Shaders. Load a slang preset. Append is how you stack passes. Save the preset per core or per game if you want SNES on a CRT and GBA on an LCD without setting it every launch.
The video driver matters. slang presets match glcore, vulkan, and d3d. If every preset fails, you are on a driver the preset was not built for. Switch the driver before you collect more presets.
Start with one pass. A preset named "mega bezel" or anything with a full TV frame is heavy. Read the FPS after you enable it. If PS1 was smooth and is now hitching, the shader is the cause.
When to leave shaders off
- Netplay. Both players should use the same frame timing. A heavy shader that drops frames on one PC desyncs the room. Turn it off for the session.
- Fast-forward. Shaders multiply the cost of every frame you are trying to skip. Disable them while you grind.
- Internal resolution above native. PS1 and N64 games rendered at 4x do not need a CRT mask to look "modern," and stacking both is the usual way to melt a laptop.
- Text-heavy RPGs if the mask makes the font fuzzy. A light scanline is enough. A strong mask is for games you play by shape, not by menus.
RetroApp
RetroApp is a launcher: the shader is a preset on the game entry, not a RetroArch menu you reopen every time. Pick one look per console and leave it. The comparison with a bare frontend is on the best retro launcher page. If you want the long version of save-state keys after the picture looks right, use the RetroArch save state guide.
FAQ
Do shaders change the game?
They change the picture, not the code. A CRT preset adds scanlines and mask. It does not add frames, fix a bug, or replace a BIOS.
Why did my frame rate drop after a shader?
Heavy CRT presets run several passes at your monitor resolution. If the counter falls, switch to a lighter preset or to integer scale with no shader.
Slang or GLSL?
Use slang on current RetroArch. GLSL presets are the older format. A preset that fails to load is often the wrong format for the video driver.