Shader presets

Revision as of 10:07, 14 June 2026 by Ahayri (talk | contribs) (TFT LCD)

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

Only popular, well-regarded shader presets are listed here. Specific .slangp presets were chosen for consistent comparison; related presets may work as alternatives. See the Future of CRT simulation page for more context, and please do not add individual shaders (.slang files) to this table — use the Shaders_and_filters page for that.

Note that some of the shaders and filters listed below that included in the chain for certain shader presets are available as an enhancement/adjustment option — such as digital vibrance — in your GPU driver control panel or your digital display OSD. These can cause color clipping, exposure issues (from applying excessive digital adjustments to the image), and input lag, so it's best to avoid using color or excessive image filters. You can, however, use an analog device/CRT's OSD adjustments. Another good option is the RTX Dynamic Vibrance option (see Future of CRT simulation#AI-powered filters) to avoid color crushing, and on top of that, using an HDR device with inverse tone mapping.

Beyond the characteristics compared below, real CRTs exhibit other behaviors — beam spot asymmetry, brightness-dependent beam widening, dynamic phosphor saturation, interlaced field artifacts (e.g. line twitter), chroma/luma delay misalignment, dot crawl phase drift, analog signal ringing, glass diffusion and refraction, magnetic purity errors, and warm-up drift. These are generally niche, experimental, or impractical to simulate in real-time presets, and are listed for reference only.

Before diving in

For focusing on emulating CRT rather than mimicking it via post-processing, see Future of CRT simulation#Full Signal & Cable Emulation.
Display Technology Simulation Methodology, Component Definitions & Behavioral Expectations
Simulation Domain / Column What It Measures & Evaluates / Definition Classifications & Defined Values / Notes Technical Criteria & Behavioral Expectations
SECTION 1: CRT Simulation Methodology

Overall scope of interacting CRT subsystems and the relative real-time GPU workload required to run the pipeline:

  • Low GPU Load: Isolated traits or superficial aesthetics without system-level modeling; few passes, minimal temporal buffers.
  • Mid-Range GPU Load: Substantial modeling in several domains but lacks complete temporal or system-wide depth. Requires a modern mid-range GPU.
  • High GPU Load: Heavy, multi-pass pipelines with interacting subsystems (beam, mask, signal, temporal degradation). Demands high-end GPUs or native HDR overhead.
Phosphor Persistence & Decay The temporal behavior of light fading, phosphorescent afterglow, and image retention over time. * No: Instantaneous state changes.
  • Limited: Indirect or physics-approximated HDR-driven luminance falloff.
  • Stylized: Basic frame accumulation or linear smearing without realistic decay mathematics.
  • Modeled (afterglow): Explicit, mathematically defined phosphor decay curves.
  • Yes (temporal beam simulation): Emergent persistence dictated directly by the physical traversal speed and latency of the virtual electron beam.
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.
  • Subtle / Moderate / Strong: Ranging from physically restrained highlight softening to prominent bloom.
  • Stylized: Artistically exaggerated glow detached from physics.
  • HDR-driven diffusion: Spatial highlight softening leveraging actual high-nit capabilities rather than artificial math filters.
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.
  • Scanline-driven: Static scanline overlays or basic thickness scaling tied purely to static pixel brightness.
  • Beam-width driven: Spatial beam width modulation across the X/Y axes, without temporal variance.
  • Physically inspired (spatial): Per-frame, localized spatial beam profile modeling.
  • Temporal beam simulation: True time-based beam traversal and sub-frame decay.
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.
  • Reconstructed: Interlace structure is synthetically rebuilt or woven post-processing.
  • Yes (bob + detection): Field-aware rendering that dynamically splits fields based on parity detection.
  • Native/temporal: True field-based rendering tracking odd and even lines over time.
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.
  • Static: Fixed, uniform RGB pixel offsets across the entire screen layout.
  • Adjustable: User-exposed controls to fine-tune alignment tolerances.
  • Dynamic: Misalignment that increases non-linearly toward the corners and edges of the 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.
  • Incidental/emergent: Unintended brightness or size fluctuations born from interactions of other shaders.
  • Experimental: Heuristic, non-physical approximations of power sag.
  • Modeled: Purpose-built formulas translating screen brightness to structural raster deformation.
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.
  • Texture-based: Explicit bitmap textures or Look-Up Tables (LUTs) representing Shadow Masks, Slot Masks, or Aperture Grilles.
  • Procedural: Analytically generated, math-driven subpixel arrays.
  • Hybrid: Merged approach using procedural calculations backed by texture maps.
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.
  • Limited: Basic chroma/luma band separation or static color distortion.
  • Optional: Handled via togglable or separate pre-processing decode stages.
  • Full: Deep multi-pass NTSC, S-Video, or RF decoding and modulation loops.
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.
  • Minimal: Simple barrel or pincushion 2D curvature matrices.
  • Advanced: Comprehensive curvature, physical tilt, overscan handling, corner rounding, and dynamic aspect-ratio correction.
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.
  • Partial: Static 2D border overlays or static bezel artwork frames.
  • Full: Dynamically lit procedural bezels, curved glass reflections, ambient lighting maps, and simulated cosmetic glass wear.
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.
  • Internal: Integrated, pass-specific mathematical resampling loops.
  • FSR: Embedded AMD FidelityFX Super Resolution algorithms.
  • Custom: Edge-detection or reconstruction passes unique to that shader's pipeline architecture.
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.
  • HDR: Capable of routing through systemic HDR color spaces for clean headroom mapping.
  • Native HDR: Built fundamentally around ultra-high peak luminance engines and custom inverse tone-mapping.
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
NTSC preset, Megadrive version
A mix of basic CRT attributes that invokes a nostalgic vibe with a modern twist, based on @guest.r's CRT Advanced HD and NTSC shader combined with a variation of @Dogway's grade shader.

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.

  • NES core settings: Change Palette setting. For Mesen use "Original Hardware (by FirebrandX)"; for Nestopia use "NTSC hardware FBx". Set Mesen overscan to 8px.
  • N64 (mupen64plus-next): Change "crop overscan" to 8 to help reduce Moiré patterns.
HSM's Mega Bezel
HSM's Mega Bezel intro animation
Started in July 2019 by HyperspaceMadness, this swiss-army-knife of visual simulation creates real-time reflections on emulated display bezels.[3]
  • Auto-generated bezel around the tube area with dynamic reflections
  • Customizable background images, LEDs, PVMs, etc.
  • Game-screen scaling (including integer scale) and edge cropping
  • Dual-screen support for emulated systems like Nintendo 3DS or DS
  • Support for Xbox Series S/X and Steam Deck

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 -
Koko-aio
Koko-aio's Commodore 1084S monitor (Night)
An all-in-one package developed by kokoko3k designed to be usable on integrated GPUs (targeting Intel Haswell+ achieving 85–90fps at 1080p with low-res content). It aims to provide users with "visual" parameters to make modern monitors look like CRTs without simulating intensive internal hardware physics.
  • Beam & phosphor: Scanlines, screenlines, RGB phosphors/deconvergence, aperture grille, slot mask, blooming, and full-screen glow.
  • Signal & color: NTSC/PAL CVBS color bleeding, RF noise, selective artifact smoothing, gamma/contrast/color-temp adjustments, and interlace flickering/BFI.
  • Geometry & display: Curvature, 3D rotation/tilt, integer scaling, antialiasing, and TATE mode.
  • Presentation & overlays: Bezels (via HyperspaceMadness), background images (with Night mode), backdrop images for B&W games, ambient lighting, and vignettes.
  • Specialty modes: Dot-matrix display emulation (Game Boy mono with motion blur) and monochrome display colorization.
Koko-aio fork for Arcade Artwork
Koko-aio fork for Arcade Artwork with HDR
A repository by estefan3112 for game-specific arcade artwork using Koko-aio slang presets. Tested successfully under macOS, Windows, and iPadOS.

It embeds game-specific artwork seamlessly and scales according to resolution, providing superior performance alongside advanced shader functions like bezel reflections, halos, and glow effects.

  • Features artwork from John Merrit and stunning 4K layouts from Ars Invictus.
  • Release 0.3 added 52 game-specific presets.
  • Release 0.4 (WIP) focuses on "nightifying" all presets and utilizing the new ambilight functionality.
CRT-Yah! -
crt-consumer-1w-ntsc-XL -

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.

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 -
Back-Ups Arcade's VS SMB overlay

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

  • Music Player: Very awesome tracklist thanks to my work's apprentice Mikey.
  • Music Player (In-Game): Lets you play music or ambient arcade sounds while in-game!

Per-game customization

  • Custom Controllers: Per-game Xbox controllers and control schemes.
  • Animated Controllers: Based on the amazing Fercho's animated overlays.
  • Smoking Options: Choose your smoking preference.

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.
Switch Experience Preset using Eden emulator
PSP Experience Preset using PPSSPP emulator

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!
  • 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.

ShaderGlass demonstration

Overlay for running GPU shaders on top of Windows desktop (similarly to WindowCast for Libretro).

Features
  • Applies shader effects on top of any window on the desktop
  • Includes the RetroArch shader library, covering CRT monitor simulation, image upscaling, TV/VHS simulation, softening, denoising, blur, sharpen, and many more
  • Works with most emulators, retro platforms, and pixel art editors, including DOSBox forks, xemu, PCSX2, FS-UAE, Altirra, ScummVM, VICE, etc.
  • Excellent companion for pixel art drawing, showing a shaded and/or aspect-ratio-corrected preview
  • Can even be used on top of YouTube, Twitch, or modern games
  • Saving and loading profiles
  • Multiple operating modes, including borderless fullscreen
  • Can be captured by OBS (using a Game Capture source)

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
  • Scale any window to fullscreen
  • Numerous built-in algorithms, including Lanczos, Anime4K, FSR, Adaptive Sharpen, various CRT shaders, and more
  • WinUI-based user interface with support for light and dark themes
  • Create configuration profiles for specific windows
  • Multi-monitor support
Using VMware and WindowCast libretro core with Duimon DOSBox preset

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.

References