Shader presets
| Back to ↩Shaders, presets, and filters | |||
| Shaders and filters | Shader presets | Future of CRT simulation | Shaders on real CRTs |
A shader preset is a combination of one or more shaders. The shader chain is a stack of shader passes, each one pointing to a specific shader file.[1] There is a common misconception about shaders; generally, you can't simply copy and paste shaders between two different programs even if they support the same extension, like .glsl, unless you know how their shaders are structured and what kind of input they expect and output they give.[2]
Disclaimer
Before diving in
- For focusing on emulating CRT rather than mimicking it via post-processing, see Future of CRT simulation#Full Signal & Cable Emulation.
| Simulation Domain / Column | What It Measures & Evaluates / Definition | Classifications & Defined Values / Notes | Technical Criteria & Behavioral Expectations |
|---|---|---|---|
| SECTION 1: CRT Simulation Methodology | |||
|
Every emulator operates under a strict, unyielding frame-time budget. Just as a game developer must rigorously optimize a commercial game engine to calculate, transform and draw assets within this window, a post-processing shader chain must be viewed as a secondary rendering pipeline executed entirely at the tail end of the frame. Each individual shader "pass" within a preset chain acts as an sequential layer of complex mathematical calculations, consuming precious GPU compute cycles and directly inflating total frame latency. Because the GPU is already taxed with reconstructing the original console's hardware graphics, layering demanding CRT or LCD simulation presets can easily exhaust the remaining hardware headroom. Minimizing this latency is important; excessive or unoptimized shader passes directly degrade emulation performance. Workload Classifications & Behavioral Expectations:
| |||
| Phosphor Persistence & Decay | The temporal behavior of light fading, phosphorescent afterglow, and image retention over time. | * No: Instantaneous state changes.
|
Expect a realistic reduction in sample-and-hold motion blur on modern flat panels. True temporal models will exhibit realistic ghosting, trailing, or subtle color-channel separations during high-motion scenes. |
| Halation & Glow | Light scattering, internal glass reflections, and electronic diffusion around high-luminance areas. | * No: Hard, un-diffused pixel edges.
|
Simulates the blooming of electron beams striking dense phosphors and light bouncing within the CRT faceplate glass. Expect bright elements (like text on a dark background) to bleed naturally into adjacent dark pixels. |
| Beam & Scan Simulation | The shape, profile, and real-time behavior of the electron beam as it draws scanlines across the screen raster. | * None: Static presentation or flat raster mapping.
|
Expect dynamic scanlines that dynamically pinch, fatten, or change shape depending on how bright the underlying color is. True temporal beam simulation models the raster beam actively sweeping across the display, distinct from standard Black Frame Insertion (BFI). |
| Interlaced Field Simulation | The shader's ability to interpret, split, and accurately render interlaced (e.g., 480i) video signals. | * None: Progressive (240p/480p) output only; treats interlaced inputs as progressive frames.
|
When fed an interlaced signal, expect the characteristic line-flicker and combed motion artifacts characteristic of native CRT television sets, crucial for authentic 3D-era console emulation. |
| Convergence Errors | Misalignment of the internal red, green, and blue electron guns. | * No: Perfectly aligned alignment across the entire raster.
|
Simulates factory defects, aging components, or poor magnetic yoke calibration. Expect subtle color fringing at the edges of white objects, particularly near the physical corners of the screen. |
| Dynamic Power & Purity (Experimental) |
Simulated hardware instability, power supply fluctuations, deflection stress, and magnetic drift under dynamic current loads. | * None: Monolithic, perfectly stable voltage simulation.
|
Evaluates visual side effects of real CRT circuitry: Brightness pumping/High-voltage sag (screen dims under massive white loads), Raster breathing (image subtly expands/contracts based on scene brightness), Power-line hum (50/60 Hz screen ripple), and Magnetic purity drift (gradual color tinting over time). |
| Subpixel Mask Accuracy | The layout, structure, and accuracy of the simulated physical glass phosphor layout. | * None / Stylized RGB mask: Artistic or arbitrary screen patterns.
|
Evaluates structural modeling fidelity, not subjective beauty. Expect a high-accuracy mask to cleanly subdivide the output into distinct RGB elements under close inspection, provided the user display resolution (e.g., 4K or 8K) is sufficient to resolve it. |
| Analog Signal Artifacts | Simulation of legacy analog video transmission standard degradation and cable flaws. | * None: Pristine, digital-direct RGB simulation.
|
Expect authentic signal-phase degradation artifacts including dot crawl, chroma bleed (colors smearing horizontally), rainbowing on fine high-frequency patterns, and luma ringing/ghosting on harsh edges. |
| Curvature & Geometry | The simulation of a physical CRT's glass faceplate shape and electron beam trajectory distortion. | * None: Flat, edge-to-edge modern digital panel presentation.
|
Geometric distortion directly alters how scanlines scale across the display. Expect an accurate curve simulation to compress beam spacing and warp mask alignment realistically towards the screen edges without causing severe pixel aliasing. |
| Overlay/Bezel/Reflections | Simulation of the physical housing environment, plastic enclosure, and external room lighting interactions. | * None: Raw, unfiltered game frame output.
|
Accounts for non-intrinsic environmental factors. Expect procedural bezels to dynamically reflect the colors flashing on the game screen, alongside realistic scuffs, fingerprints, scratches, and ambient room glare on the "outer glass" surface layer. |
| Upscaling/Reconstruction | Spatial resizing and anti-aliasing methods used to map low-resolution source assets into high-resolution shader pipelines. | * None/frontend scaling: Relies completely on the emulator frontend to scale the base resolution.
|
Distinct from the CRT effect itself. High-fidelity upscaling ensures the core image assets are clean and artifact-free before the retro-CRT scanline and mask grids are applied on top. |
| HDR Support | Utilization of High Dynamic Range display architectures to surpass standard digital display brightness constraints. | * SDR only: Confined to standard 8-bit, 100-nit color limits.
|
Real CRTs were incredibly bright at a microscopic subpixel level. Native HDR shaders bypass SDR limitations, driving modern display panels hard enough to overcome the massive light loss caused by thick black scanlines and dense phosphor mask overlays. |
| SECTION 2: TFT LCD Methodology and Column Definitions | |||
|
In addition to the characteristics compared below, early LCD panels (passive-matrix, early TFT, and early mobile displays) exhibit other behaviors. These include extreme response-time asymmetry (rise vs fall), viewing-angle–dependent gamma and color shift, temporal dithering, inversion artifacts, weak black levels, backlight bleed and pixel voltage leakage. These characteristics are often panel-specific, difficult to measure accurately, or impractical to simulate fully in real time, and are therefore listed here for informational purposes only. | |||
| LCD Modeling Depth and Complexity | Simulation depth of the LCD display. | Based on number of passes (from the entire preset or shader chain), use of temporal buffers, float framebuffers, mipmaps, blur pyramids, and scaling stages. | Final display shader alone does not determine this value. |
| Pixel Response/Ghosting | Simulation of pixel response time, persistence, or frame-to-frame decay. | Only temporal feedback mechanisms (previous-frame sampling, decay, accumulation) count. | Emulator-side interframe blending or ghosting (e.g. Ares, NanoBoyAdvance) occurs prior to the shader pipeline and is not reflected in this table unless explicitly implemented within the shader preset itself. |
| Sample-and-Hold Behavior | Whether sample-and-hold behavior is explicitly simulated or implicitly assumed. | Most LCD shaders assume sample-and-hold by default. | Explicit strobing, impulse, or response shaping must be present to be marked as simulated. |
| Pixel Grid/Subpixel Structure | Accuracy and type of pixel or subpixel layout modeling. | Includes RGB/BGR layouts, aperture modeling, analytic integration, or grid reconstruction. | Simple sinusoidal masks are considered low accuracy. |
| Pixel Aperture/Transparency | Simulation of intra-pixel fill ratio or light transmission through pixel or subpixel apertures. | Models how much light passes through pixel areas rather than assuming fully opaque pixels. Used by shaders such as pixel_transparency-lcd3x. | Not implied by grid layout or color weighting alone. Dot-matrix masking or background compositing alone does not constitute pixel aperture or transparency modeling unless light transmission through pixel areas is explicitly simulated. |
| Color & Gamma Handling | How color space, gamma, and transfer functions are handled within the shader pipeline. | Covers internal color math such as linearization, de-linearization, panel-style gamma curves, tone shaping, saturation control, and re-encoding. | LUTs used purely as mathematical tools (e.g. gamma correction or contrast shaping) are included here and do not imply device-specific color accuracy. |
| Color Profile/Device Color Model | Whether the preset applies a device-specific color palette, LUT, or grading intended to reproduce the color characteristics of a particular handheld or LCD device. | This column reflects *intent*, not technique. | LUTs or grading are only counted here if they are meant to emulate a known device's color response (e.g. Game Boy Color hardware palettes). Generic color tuning, grading, or gamma adjustment without explicit device reference does not qualify. |
| Backlight & Black Level Modeling | Simulation of LCD backlight behavior, black floor, or contrast lifting. | Includes ambient lift, black level offsets, diffusion, or glow. | Does not include bezel or glass reflections. |
| Panel Artifacts | Simulation of panel-specific artifacts such as inversion patterns, dithering, or crosstalk. | Temporal or spatial artifacts must be intentionally modeled. | Noise used for reflections or grain does not count. |
| Viewing Angle Effects | Simulation of luminance or color shift based on viewing angle. | Includes angular falloff or directional response. | Most presets do not simulate this. |
| Overlay/Bezel/Reflections | Presence of non-display optical layers such as bezel, glass, reflections, or vignette. | These affect presentation and realism but are not part of the display's pixel structure itself. | Evaluates non-intrinsic environmental additions. |
| Upscaling/Reconstruction | How the preset reconstructs or scales the source image. | Includes ScaleFX, xBR-style reconstruction, multi-pass resampling, or reliance on frontend scaling. | Ensures uniform comparisons across scaling pipelines. |
| HDR Support | Whether the preset is designed for HDR output or luminance-linear workflows. | Most presets are SDR-only and assume display-referred gamma (≈2.2–2.4). | Tracks compatibility with modern high-headroom panels. |
RetroArch/Libretro
RetroArch is able to stack shaders to create a combined effect. These complex effects are saved with a special extension:
.cgp for CG .glslp for GLSL .slangp for Slang
The shader presets can also have parameters, which means you can tweak them to fit your needs.
CRT
| Preset Projects | Demonstration / Features & Description |
|---|---|
| Sonkun's crt-guest-advanced-hd presets | There are 3 shader preset folders for 3 monitor types — 1080p, 1440p, and 4K — designed to be used on these three resolution types only. There are 64 shader presets to choose from per folder, with 3 different phosphor types for USA, Japan, and PAL, included in both color-temperature and multiple cable-type variations (RF, composite, S-Video, and RGB). The S-Video presets also include Hyllian's "sgenpt-mix multipass" shader to handle dithering.
|
| HSM's Mega Bezel |
Other notable presets developed for HSM's Mega Bezel:
|
| Sony Megatron (HDR) | These presets/shaders rely heavily on the luminance performance of your display rather than your GPU. You will need a bright display, preferably DisplayHDR 600 (though some laptop SDR screens work). A DisplayHDR 1000 display provides the true headroom required for high-end PVMs. See Future of CRT simulation#Display Hardware Requirements for more information. |
| Hari's 1080p Shader Presets | A shader presets pack optimized strictly for native 24", 1080p desktop monitors kept fairly close (50–70 cm). Based on guest.r's shaders, it includes simple overlays to fill up the screen. Perfect as a starting point for native 1080p displays. |
| Retro-Crisis-GDV-NTSC | Based on the Guest Advanced NTSC shader by guest.r. The main focus of the pack is 4K displays, though 1080p and 720p are supported. The "100" series of presets are designed to be 100% accurate, modeled after a Sony Trinitron KVM. |
| CRT Beam Simulator ports for Libretro | Includes crt-beam-simulator-fsr-sony-crt-megatron-hdr.slangp and crt-beam-simulator-crtroyale-ntsc-svideo.slangp. |
| CRT-Guest-Advanced-NTSC for Libretro | - |
| CRT-NewPixie for Libretro | Focuses heavily on stylized and cosmetic elements with very light performance demand. |
| Kurozumi's CRT-Royale port | - |
| CRT-Yah! | - |
| crt-consumer-1w-ntsc-XL | - |
| Koko-aio and Koko-aio fork for Arcade Artwork |
It embeds game-specific artwork (from John Merrit and stunning 4K layouts from Ars Invictus) seamlessly and scales according to resolution, providing superior performance alongside advanced shader functions like bezel reflections, halos, and glow effects. |
Overlay/Bezel packages
These overlay/bezel packs shouldn't be confused with the shader presets above. Most of these packs only come with overlay and config files (.cfg and .png files) for the 'RetroArch/config/mame or FinalBurn Neo' and 'RetroArch/overlays/arcade' directories.
- Mr. RetroLust's Lights Off
- ArsInvictus 4K Vertical Overlays
- Orionsangel's Realistic Arcade Overlays
Most of Orionsangel's bezels in one large pack (link in the description)
TFT LCD
| Shader Preset / Link | Description / Notes |
|---|---|
| pixel transparency-lcd3x | - |
| pixel transparency-lcd-grid-v2 | - |
| gameboy-color-dot-matrix-white-bg | - |
| lcd-grid-v2-gbc-color-motionblur | - |
| Duimon's GBA-ADV-LCD-GRID-Night.slangp | - |

A frontend that showcase's various overlays with HSM's shader preset and much more by Boz1978. His aim was to make a AIO software package that seamlessly transitions between game selection and game with no ugly loading screens.
| Features |
|---|
|
Visuals & presentation
Audio
Per-game customization
|
Back-Ups Arcade relies of three pieces of software to make it work:
- Attract Mode Plus: The front end.
- RetroArch: The back end.
- RocketLauncher: The intermediary software used for game fades and pause menu.

ReShade is a generic post-processing injector for games and video software developed by crosire. Similarly to libretro, shader effects for ReShade are saved with a special extension: ".fx", and again similarly to libretro you can tweak them to fit your needs or create your own custom preset. For preset file location look for ReShade.ini and "CurrentPresetPath=", and it will tell you the location.
GShade is fork of ReShade.
- SDTV Experience Preset
- This shader chain specifically tuned to recreate the authentic look of the late analog/early digital television era as experienced on consumer standard-definition CRT televisions during the fifth to sixth-generation console period and into the early HD transition. Unlike presets focused on ≤4th gen console system's 240p-style scanline blending, excessive focus on bloom, phosphor and mask or other aspects of visual aesthetics, this chain prioritizes cable and signal simulation (primarily emphasizes visual characteristics typical of NTSC composite RCA connections and signals): bandwidth-limited composite artifacts, subtle signal noise, and gentle CRT-like behavior appropriate for standard-definition content. The preset also bundles optional tools for CRT audio simulation (e.g. aperture grille buzz, yoke hum, flyback whine etc). You'll need a reasonably modern GPU (GTX 960 or better) for this. An old office PC from 2010 isn't going to cut it for 480p system emulation plus the SDTV Experience preset. Currently, this preset is solely focused on 1080p displays. If you use a display other than 1080p, you will need to manually adjust the shader parameters yourself. Make sure to check out the readme.txt first!
-
Blades dashboard emulation running in 480p, SDTV Experience Preset using Xenia Edge emulator.
-
FIFA 06 gameplay running in 480p with the SDTV Experience Preset on the Xenia Edge emulator.
- Early HD LCD Experience Preset
- This shader preset is designed to recreate the authentic look of seventh-generation HD capable console systems as they appeared on early HD LCD televisions. Instead of maximizing sharpness, it aims to preserve the original image characteristics and viewing experience of the Xbox 360 and PlayStation 3 era. If you prefer ultra-sharp visuals and dislike full-screen blur, this shader is probably not for you. In that case, you're better off simply increasing the internal resolution using the built-in upscaling options in RPCS3 or Xenia Edge.
- Sony Megatron ReShade Port (HDR)
- For using this preset you need AutoHDR add-on for ReShade.
- CyberLab ReShade Death To Pixels Shader Preset Pack
- Vasiliy.M.'s PCSX2 CRT (backup)
- kyubus Retro CRT
Demonstration- Kyubus Retro CRT is a collection of Reshade and RetroArch retro CRT presets using existing shaders such as CRT-Guest, CRT-Royale and CRT-Lottes. ::These presets are mainly developed on a monitor resolution of 1440p but presets for 1080p and 4k monitors are included. To make the lower resolution shader display correctly RetroArch (or any emulator) integer scaling needs to be switched ON (Settings → video → scaling). GaussianBlur, LumaSharpen and Deband(range) are probably the first parameters you might want to adjust depending on the resolution of the content and your preferences. frankschoeman also recommend trying RetroArch shaders underneath such as "/xbr/super-xbr-fast.slangp"(Set Input and Output gamma to 1.0 in shader parameters) and "/cubic/catmull-rom-fast.slangp". In case those aren't available frankschoeman suggest setting the preset to one where GaussianBlur is enabled.
- AirCon's R
Demonstration- Mimics blurry, lightbleeding, uncalibrated inexpensive 8~90's CRT.
Special K
See PCGamingWiki: Special K page.

Overlay for running GPU shaders on top of Windows desktop (similarly to WindowCast for Libretro).
| Features |
|---|
|
Magpie is a lightweight window scaling tool that comes equipped with various efficient scaling algorithms and filters. Its primary purpose is to enhance game graphics and enable non-fullscreen games to display in fullscreen mode.
| Features |
|---|
|

WindowCast for Libretro/libretro-wincapture (formerly WGC Window Capture) Libretro core to capture the contents of another window for video processing. This is useful, for say, capturing the output of a standalone emulator that doesn't have advanced pp shader implementation (like xemu, Dolphin, PCSX2*) or a PC game running in a window and then processing it with RetroArch's shader stack. WindowCast for Libretro, ReShade or ShaderGlass are the only decent way to do this if the emulator doesn't have any advanced pp shader implementation.
This core uses software blit, and should support running with any RetroArch video driver (vulkan, d3d11, gl, etc). However, the method used for window capture is Windows 10/11-specific and requires a Direct3D 10/11 capable GPU. Audio or input is not handled, and it is expected that the game will be running in the background.



