A groundbreaking new shader has been introduced to the RetroArch emulation platform, promising a significant enhancement in motion clarity on contemporary high-refresh-rate displays without the typical compromises associated with traditional black-frame insertion (BFI) techniques. This innovative solution, dubbed the "CRT Beam Simulator," is the collaborative brainchild of Mark Rejhon, a renowned display expert from BlurBusters.com, and Timothy Lottes, the celebrated creator of the original FXAA shader and the highly regarded crt-lottes shaders. Leveraging RetroArch’s recently integrated "subframe" shader capabilities, the CRT Beam Simulator operates at multiples of the standard content framerate, delivering a more authentic and visually superior retro gaming experience.

The Quest for Authentic Motion: Bridging the Display Gap

For decades, enthusiasts and purists of classic video games have grappled with a fundamental disconnect between the visual characteristics of original hardware and modern display technology. Cathode Ray Tube (CRT) monitors, the ubiquitous display technology of the 20th century, rendered images through an "impulse" display method. An electron beam rapidly scanned across the screen, illuminating pixels for only a fleeting moment before moving on, allowing the human eye to perceive distinct frames in rapid succession. This inherent characteristic resulted in exceptionally clear motion, even at lower refresh rates, a quality often referred to as "CRT motion clarity."

Modern flat-panel displays, including Liquid Crystal Displays (LCDs) and Organic Light-Emitting Diode (OLED) panels, operate on a fundamentally different principle: "sample-and-hold." Each pixel, once illuminated, holds its state until the next frame is rendered. While this method offers advantages like high brightness and flicker-free viewing, it introduces a phenomenon known as "sample-and-hold blur" or "motion blur," where moving objects can appear smeared or indistinct due to the persistence of the image on the retina between refreshes. This visual artifact is particularly noticeable in fast-paced games or scrolling backgrounds, detracting from the authentic retro experience.

Traditional Solutions and Their Limitations: The BFI Conundrum

To mitigate sample-and-hold blur, display manufacturers and software developers have historically turned to techniques like Black Frame Insertion (BFI). BFI attempts to emulate the impulse nature of CRTs by inserting a black frame between each rendered game frame. The brief period of darkness allows the eye to reset, reducing the persistence of the previous image and thus enhancing perceived motion clarity. While effective to a degree, BFI comes with several significant drawbacks that have limited its widespread adoption and user satisfaction.

Firstly, inserting black frames inherently reduces the overall perceived brightness of the display, often by 50% or more, which can be undesirable for many users. Secondly, the rapid flickering between game frames and black frames can cause eye strain or be perceived as distracting, especially for individuals sensitive to flicker. Thirdly, on certain panel types, particularly some LCDs, the continuous on/off flickering associated with BFI can contribute to "image persistence" or "temporary image retention," where residual images can linger on the screen, albeit temporarily. Furthermore, the effectiveness and implementation of BFI can vary greatly between different display models and manufacturers, leading to inconsistent results and a fragmented user experience. These limitations underscore the ongoing need for more sophisticated solutions that can deliver superior motion clarity without sacrificing other crucial aspects of display performance.

RetroArch’s Evolutionary Step: Subframe Shader Capabilities

The development of the CRT Beam Simulator shader is intrinsically linked to a crucial advancement within RetroArch itself: the introduction of "subframe" shader capabilities. Prior to this, RetroArch’s shader system primarily operated on a per-frame basis, meaning shaders processed each complete frame of content before it was displayed. The new subframe feature revolutionizes this by allowing shaders to render at a much higher frequency than the game’s native framerate, effectively dividing each display refresh cycle into multiple "subframes."

RetroArch first program to support BlurBuster’s CRT beam racing simulator shader – Libretro

This capability is paramount for the CRT Beam Simulator because it enables the granular control necessary to simulate the precise timing and behavior of an electron beam scanning a CRT screen. Instead of simply inserting a static black frame, the shader can now dynamically control the illumination of pixels across the screen within a single refresh cycle, mimicking the progressive scanline drawing of a CRT. This innovation provides the underlying technical framework for the shader to perform its advanced motion clarity enhancement, moving beyond the brute-force approach of BFI. RetroArch version 1.20.0 or any more recent nightly build is required to utilize this feature, as older versions lack the necessary subframe support. This technical prerequisite highlights the cutting-edge nature of this development and RetroArch’s continued commitment to pushing the boundaries of emulation fidelity.

The Architects of Clarity: Rejhon and Lottes

The collaborative effort behind the CRT Beam Simulator brings together two titans in the field of display technology and graphics rendering. Mark Rejhon, the founder of BlurBusters.com, is widely recognized as a leading authority on display motion performance, refresh rates, and input lag. His work at Blur Busters has been instrumental in educating both consumers and industry professionals about the intricacies of motion clarity and the limitations of modern displays in replicating CRT-like performance. Rejhon’s deep understanding of display physics and human perception has been critical in designing a shader that directly addresses the root causes of motion blur.

Timothy Lottes, on the other hand, is a legendary figure in real-time graphics. He is best known for creating Fast Approximate Anti-Aliasing (FXAA), a widely adopted post-processing anti-aliasing technique that significantly improved visual quality in countless video games. Lottes is also the architect of the popular crt-lottes shaders, which have long been a staple in the emulation community for their accurate and aesthetically pleasing CRT screen simulations. His expertise in shader development and real-time rendering, combined with Rejhon’s display knowledge, created a formidable partnership, enabling the translation of complex display theory into a practical, high-performance shader solution for RetroArch. Their combined experience ensures that the CRT Beam Simulator is not only technically sound but also optimized for real-world gaming scenarios.

Unpacking the CRT Beam Simulator: A Technical Deep Dive

At its core, the CRT Beam Simulator shader reimagines how a modern display presents motion, moving from a static "sample-and-hold" update to a dynamic "impulse-like" presentation. Instead of simply inserting a full black frame, the shader leverages RetroArch’s subframe capabilities to simulate the gradual illumination of a CRT screen by an electron beam. For a 120Hz monitor displaying 60 frames per second content, the shader can operate at 2x the content framerate, essentially generating two subframes per original game frame. On a 240Hz monitor, this expands to four subframes, and so on.

Within each display refresh cycle, the shader progressively dims and brightens portions of the screen, creating a virtual "raster line" that scans across the display. This rapid, localized control over pixel illumination mimics the brief "impulse" of a CRT’s electron beam, effectively reducing the time each pixel is perceived as "on" within a single refresh period. The result is a dramatic reduction in sample-and-hold blur, restoring the crisp motion clarity characteristic of classic CRT displays. Unlike traditional BFI, which inserts a uniform black frame, the CRT Beam Simulator’s approach is more nuanced, allowing for a smoother transition and a less intrusive flicker effect. The simulation is akin to rendering the game content as if it were being drawn by a CRT beam in real-time on your modern panel, rather than simply flashing black.

Key Advantages Over Conventional BFI

The CRT Beam Simulator offers several distinct advantages that position it as a superior alternative to traditional BFI methods:

  1. Reduced Brightness Impact: While some brightness reduction is inherent in any impulse-like display simulation, the CRT Beam Simulator is designed to minimize this effect. Its intelligent subframe operation allows for more efficient light utilization compared to the complete blackouts of BFI, offering a better balance between motion clarity and display luminance.
  2. Mitigated Flicker: By simulating a progressive scanline rather than a full-screen blackout, the shader reduces the perceived flicker that can be a significant drawback of BFI. The dimming is more localized and dynamic, resulting in a smoother visual experience that is less taxing on the eyes.
  3. Enhanced Panel Compatibility: The shader is engineered to be more forgiving on various modern display technologies. Specifically, it addresses concerns regarding image persistence on certain LCD panels, a common issue with high-frequency BFI.
  4. OLED Optimization: OLED panels, known for their instantaneous pixel response and perfect blacks, are particularly well-suited for this shader. They are inherently immune to the image persistence issues that can affect LCDs with BFI, allowing the CRT Beam Simulator to shine without compromise. Monitors running at odd integer multiples of 60 Hz (e.g., 180 Hz, 300 Hz) also benefit from reduced risk of image persistence.
  5. Fine-Grained Customization: The shader includes robust runtime parameters, allowing users to fine-tune the visual output to their specific display and preferences. This level of control, from gamma adjustment to raster line positioning, is far beyond what typical BFI implementations offer.
  6. Seamless Shader Stacking: Crucially, the CRT Beam Simulator is designed to be highly composable. It can be easily prepended to existing shader presets, allowing users to combine its motion clarity benefits with their favorite CRT mask shaders, scanline effects, and other visual enhancements without conflict. This modularity empowers users to craft a truly personalized and authentic retro visual experience.

Implementation and Customization within RetroArch

RetroArch first program to support BlurBuster’s CRT beam racing simulator shader – Libretro

For users eager to experience this advancement, the process within RetroArch is straightforward, provided they meet the hardware requirements of a high-refresh-rate monitor (120 Hz or higher) and the software prerequisite of RetroArch 1.20.0 or newer.

To activate the shader:

  1. Launch RetroArch and load a game or core.
  2. Open the Quick Menu (usually F1 on keyboard, or a hotkey combination).
  3. Navigate to "Shaders."
  4. Ensure "Video Shaders" is toggled ON.
  5. Select "Load Shader Preset."
  6. Browse to shaders_slang/presets/crt-beam-simulator.
  7. Select one of the pre-made presets, such as crt-beam-simulator.slangp, or a combined preset that includes it.
  8. Select "Apply Changes" to activate the shader.

Once active, the shader offers several crucial runtime parameters accessible through the shader menu. Users can adjust the "gamma" to achieve a neutral image, eliminating any unintended dark lines or visual artifacts. More importantly, parameters allow for fine-tuning the trade-off between brightness and motion clarity. For 120 Hz monitors operating with two subframes, a value of approximately 0.5 for the clarity setting typically yields an optimal balance. For 240 Hz monitors leveraging four subframes, a value around 0.7 is often ideal. These settings allow users to dial in the perfect visual balance for their specific setup and preference. The ability to adjust the position of the simulated raster line is also available, ensuring it can be placed in the least obtrusive spot on the screen. Furthermore, a runtime parameter exists to disable the cycle timing offset for displays like OLEDs or 180 Hz monitors, where image persistence is not a concern, preventing the simulated raster line from "rolling up" the screen unnecessarily.

Addressing Display-Specific Nuances and Support

The developers have proactively considered the diverse landscape of modern display technologies. While many LCD panels are susceptible to image persistence from rapid flickering, OLED displays and LCDs operating at specific refresh rates (e.g., 180 Hz, which is an odd integer multiple of 60 Hz) are largely immune. For these displays, the shader includes a runtime parameter to disable the cycle timing offset. This prevents the simulated raster line from "rolling up" the screen, which would otherwise be a necessary compensation for persistence-prone panels. This thoughtful inclusion ensures that users with advanced displays can fully leverage the shader’s benefits without unnecessary visual quirks.

Should users encounter any issues or require assistance with tuning, a comprehensive FAQ and troubleshooting guide is available on Mark Rejhon’s GitHub repository: https://github.com/blurbusters/crt-beam-simulator/issues/4. Additionally, RetroArch’s active community offers support through its usual channels, including Discord, Reddit, and the official Libretro forums, ensuring that users have ample resources for help. The significance of this shader has also been highlighted in independent reviews, with a detailed video analysis from a respected expert in display technologies providing further validation of its impact and effectiveness.

Broader Implications and the Future of Emulation

The introduction of the CRT Beam Simulator shader marks a pivotal moment for the emulation community and potentially for display technology at large. By effectively addressing the long-standing challenge of motion clarity on modern displays, it elevates the authenticity of retro gaming to unprecedented levels. Enthusiasts can now experience classic titles with a visual fluidity that truly mirrors their original presentation, transcending the limitations imposed by sample-and-hold display technology. This innovation not only enhances the user experience but also serves as a testament to the power of open-source development and collaborative innovation in preserving digital heritage.

Beyond emulation, the techniques pioneered in this shader could influence future developments in display technology, particularly in how high-refresh-rate panels manage motion. As refresh rates continue to climb (e.g., 360Hz, 500Hz+), the ability to precisely control subframe illumination without significant brightness loss or flicker becomes increasingly valuable. The CRT Beam Simulator demonstrates a viable pathway to achieving superior motion clarity that respects the inherent characteristics of different panel types, offering a more nuanced approach than previous methods. This advancement reinforces RetroArch’s position not just as a leading emulation frontend, but as a platform that actively contributes to pushing the boundaries of visual fidelity and display technology innovation. The quest for the perfect retro experience continues, and with tools like the CRT Beam Simulator, that quest takes a significant leap forward, blending the best of historical aesthetics with cutting-edge display performance.