The landscape of retro gaming emulation and display technology has taken a significant leap forward with the official release of a groundbreaking shader designed to emulate the motion clarity of vintage Cathode-Ray Tube (CRT) monitors on modern flat-panel displays. Developed collaboratively by Mark Rejhon, founder of the display motion analysis authority BlurBusters, and veteran graphics programmer Timothy Lottes—widely recognized as the creator of the original FXAA shader and the sophisticated crt-lottes algorithms—this new visual tool marks a major milestone for emulation enthusiasts.
Integrated directly into RetroArch version 1.20.0 and subsequent nightly builds, the shader utilizes newly implemented subframe capabilities. This technical advancement allows the rendering pipeline to operate at direct multiples of standard content framerates, circumventing historical limitations that have long plagued motion clarity enhancement techniques on sample-and-hold display panels.
Main Facts and Technical Foundation
At its core, the newly introduced CRT beam-racing simulator addresses a persistent challenge in modern display technology: motion blur caused by sample-and-hold persistence. Unlike vintage CRTs, which illuminate phosphors in a fleeting, scanning beam of light, modern Liquid Crystal Display (LCD) and Organic Light-Emitting Diode (OLED) panels continuously display a static image until the next frame is rendered. While this eliminates visible flicker, the continuous persistence of light on the human retina results in perceived motion blur during fast-paced camera pans and object movement.
To combat this, developers have historically relied on Black-Frame Insertion (BFI), a technique that periodically flashes black frames between actual content frames to clear the retina’s persistence of vision. However, conventional BFI implementations often introduce severe drawbacks, including noticeable screen flicker, drastic reductions in peak panel brightness, and high-frequency eye fatigue.
The new shader developed by Rejhon and Lottes approaches this problem from a radically different angle. By leveraging RetroArch’s recently introduced "Shader Sub-frames" architecture, the tool generates intermediate subframes that simulate the physical scanning raster of a traditional CRT monitor. This enables high-refresh-rate displays—specifically those operating at 120 Hz, 240 Hz, or higher—to display emulated content with the exceptional motion clarity of vintage hardware without sacrificing the overarching visual integrity of the picture.
Chronology and Development Context

The genesis of this technology traces back to ongoing research into human vision and display persistence conducted by BlurBusters over the past decade. As gaming monitors transitioned away from CRT technology toward high-refresh-rate LCDs and eventually high-performance OLED panels, the pursuit of "CRT-quality motion clarity" became a primary goal for display purists and simulation developers.
In late 2024 and early 2025, the Libretro development team began laying the technical groundwork within RetroArch to support subframe shader passes. This infrastructural update was crucial, as previous iterations of the emulation frontend lacked the internal scheduling logic required to execute shader passes at fractional or multiplied intervals relative to the core content framerate.
Recognizing the potential of this new framework, Mark Rejhon and Timothy Lottes created an initial implementation hosted on Shadertoy under the identifier XfKfWd. Following successful prototyping and refinement, the code was adapted into the Libretro slang shader repository as part of the crt-beam-simulator preset family. With the release of RetroArch 1.20.0 in early 2025, the feature graduated from experimental status to full public availability, supported by dedicated documentation, community troubleshooting channels, and comprehensive parameter customization options.
Supporting Data and Implementation Requirements
Deploying the CRT beam-racing shader successfully requires adherence to specific hardware and software prerequisites. The primary requirement is a display capable of supporting high refresh rates, ideally 120 Hz, 240 Hz, or greater integer multiples of standard 60 Hz retro content. On the software side, users must update their RetroArch installation to version 1.20.0 or utilize a current nightly build, as older versions fundamentally lack the Shader Sub-frames feature.
The shader is highly flexible and can be seamlessly combined with existing aesthetic enhancements. Users can prepend the beam-racing preset to their favorite CRT curvature and mask shaders (such as crt-lottes or crt-guest-dr-venom) located within the shaders_slang/presets/crt-beam-simulator directory.
Once active, the shader demands precise calibration tailored to the specific technical characteristics of the user’s monitor. Because displays vary widely in native response times, panel technology, and peak luminance, the shader includes real-time adjustable parameters:
- Gamma Correction: Allows users to fine-tune the transfer function to achieve a neutral image, effectively eliminating unintended dark horizontal lines or crushed shadow details.
- Clarity-Brightness Trade-off: Users can balance the intensity of the simulated scanning beam against overall panel brightness. Recommended baseline parameters include a value of approximately ~0.5 for 120 Hz monitors utilizing two subframes, and ~0.7 for 240 Hz displays operating with four subframes.
- Raster Line Positioning and Timing: Allows operators to adjust the physical position of the simulated scanning line or disable cycle timing offsets entirely. This feature is particularly valuable for panels running at odd integer multiples of 60 Hz (such as 180 Hz) or OLED panels that do not suffer from the voltage accumulation issues—known as image persistence—that can occasionally affect certain LCD sub-pixel structures during aggressive flickering operations.
Official Responses and Community Reception

The release of the shader has generated substantial enthusiasm within the retro gaming, emulation, and display technology communities. Prominent content creators and display analysts have published detailed technical breakdowns praising the implementation for solving longstanding compromises inherent to software-based motion clarity enhancements.
In developer commentary published alongside the initial release, Mark Rejhon emphasized that the collaboration bridges the gap between theoretical display science and practical everyday emulation. By utilizing Timothy Lottes’s expertise in high-performance shader design alongside BlurBusters’ motion-testing methodologies, the project achieves a level of fidelity previously restricted to expensive, specialized laboratory hardware.
To assist users navigating initial setup hurdles, Mark Rejhon established a dedicated public repository and FAQ tracker on GitHub (hosted under blurbusters/crt-beam-simulator/issues/4), providing direct support for edge-case hardware configurations, variable refresh rate (VRR) interactions, and troubleshooting idiosyncratic display behaviors. Additional community support channels have been mobilized across the official Libretro forums, the Libretro Subreddit, and the project’s community Discord server.
Broader Impact and Industry Implications
The introduction of the CRT beam-racing shader within an open-source framework like RetroArch carries significant implications for both retro gaming preservation and the broader trajectory of display rendering techniques.
For decades, digital preservationists faced a difficult dilemma: while pixel art and emulated game logic could be preserved with absolute mathematical precision, the temporal medium through which those graphics were originally experienced—the analog CRT—was rapidly disappearing from consumer markets. While software filters successfully replicated static visual traits such as scanlines, shadow masks, and phosphor glow, they remained fundamentally incapable of reproducing the dynamic motion clarity experienced on physical hardware.
By harnessing the power of modern high-refresh-rate panels through subframe scheduling, this technology demonstrates that software-based temporal simulation can effectively match the motion resolution of analog displays. Furthermore, because the shader operates independently of the underlying emulation core, its underlying architecture could theoretically be adapted beyond retro gaming emulation into modern PC gaming engines, virtual reality headsets, and professional video playback systems where motion blur remains a critical visual bottleneck.
As high-refresh-rate displays become ubiquitous in the consumer market—with 240 Hz, 360 Hz, and 480 Hz monitors transitioning from niche enthusiast hardware to mainstream availability—techniques that exploit temporal overhead to improve visual fidelity will likely become standard industry practice. The collaboration between BlurBusters and the Libretro team serves as a pioneering case study in how open-source software development can successfully leverage advanced hardware capabilities to honor technological history while pushing the boundaries of modern visual performance.
