The retro gaming community is abuzz with the introduction of a groundbreaking shader for RetroArch, promising a significant leap in motion clarity on contemporary high-refresh-rate displays without succumbing to the traditional pitfalls of Black-Frame Insertion (BFI) techniques. This innovative shader, a collaborative masterpiece by display expert Mark Rejhon of BlurBusters fame and graphics programming virtuoso Timothy Lottes, creator of the renowned FXAA and crt-lottes shaders, harnesses RetroArch’s recently implemented “subframe” shader capabilities. This allows it to operate at multiples of the standard content framerate, delivering an experience previously unattainable through software emulation.
The Persistent Challenge of Motion Blur in Modern Displays
For decades, cathode-ray tube (CRT) displays were the gold standard for gaming, particularly for fast-paced action and retro titles. Their inherent operating principle, known as impulse display, involved a scanning electron beam that illuminated pixels only momentarily as it swept across the screen. This brief illumination time, followed by rapid decay, meant that each frame was effectively presented as a series of impulses, leading to exceptional motion clarity with virtually no perceived blur. However, the advent of flat-panel displays—LCDs, LEDs, and OLEDs—ushered in a new era of visual fidelity characterized by higher resolutions, thinner profiles, and greater energy efficiency. Yet, these "sample-and-hold" displays introduced a significant trade-off: motion blur.
Unlike CRTs, sample-and-hold displays illuminate all pixels simultaneously for the entire duration of a frame. When an image moves across the screen, the static illumination of pixels between refreshes means that the human eye tracks the moving object, but the image itself is held constant for the duration of the frame. This mismatch between eye tracking and static image presentation creates a smearing effect, or motion blur, which can detract significantly from the gaming experience, especially for titles designed with the crisp motion of CRTs in mind. Even high refresh rates (120 Hz, 240 Hz, and beyond) on modern displays, while reducing latency, do not entirely eliminate this inherent sample-and-hold blur. While they refresh the image more frequently, each refreshed image is still held for a longer duration than on a CRT, leading to a degree of persistence blur that is noticeable to discerning users.
Previous Solutions and Their Limitations: The BFI Conundrum
Recognizing the desire for CRT-like motion clarity, display manufacturers and software developers have explored various techniques, with Black-Frame Insertion (BFI) being one of the most common. BFI attempts to mimic the impulse nature of CRTs by inserting a black frame between each rendered game frame. The idea is that the black frame momentarily extinguishes all pixels, effectively resetting the image and reducing the perceived "hold" time of each frame. This rapid flickering of black and image frames reduces pixel persistence and can indeed improve motion clarity.
However, BFI comes with significant drawbacks. The most immediate and noticeable issue is a drastic reduction in perceived brightness, often cutting the display’s luminosity by 50% or more, depending on the implementation. This can make games appear dim and less vibrant. Furthermore, the rapid on/off flickering introduced by BFI can be fatiguing for some users, leading to eye strain or a perception of unsteadiness, especially in bright scenes. On certain display technologies, particularly some LCD panels, the constant voltage fluctuation associated with BFI can contribute to image persistence or "burn-in" over extended periods, although this risk varies greatly depending on the panel type and manufacturer. Additionally, many BFI implementations are global, meaning they flash the entire screen simultaneously, which, while effective, still doesn’t perfectly replicate the progressive scanline drawing of a CRT.
The Genesis of a Solution: RetroArch’s Subframe Capabilities
The breakthrough for this new shader lies in RetroArch’s pioneering "subframe" shader capabilities, a feature introduced in RetroArch 1.20.0 and subsequent nightly builds. RetroArch, an open-source, cross-platform frontend for emulators, game engines, video games, media players, and other applications, has long been a cornerstone of the retro gaming community. Its modular architecture, allowing for "cores" (emulators) and "shaders" (post-processing visual effects), has fostered continuous innovation. Prior to this, shaders typically operated on a per-frame basis, processing an entire rendered image before it was displayed. The subframe architecture, however, allows shaders to break down a single display frame into multiple, smaller "subframes" that can be processed and rendered sequentially within the refresh cycle of the display. This fundamental architectural shift provides the necessary canvas for more sophisticated display simulation techniques.

This innovation was not a mere software update; it represented a significant architectural re-engineering within RetroArch’s rendering pipeline. By allowing shaders to interact with the display at a granular, sub-refresh-rate level, developers gained the ability to manipulate pixel illumination in ways previously confined to hardware-level display controllers. This opened the door for techniques that could dynamically alter pixel states multiple times within a single display refresh, paving the way for advanced motion clarity solutions that transcend the limitations of traditional BFI. The development timeline saw the initial conceptualization and experimental implementation by key contributors, followed by the rigorous integration into RetroArch’s core framework to ensure stability and widespread compatibility.
Introducing the CRT Beam Racing Shader: A Paradigm Shift
The new shader, affectionately dubbed the "CRT Beam Racing" shader, is a testament to the potential of RetroArch’s subframe capabilities. Developed by Mark Rejhon, a leading authority on display motion and founder of BlurBusters.com, a renowned resource for display performance and blur reduction research, and Timothy Lottes, whose work has already profoundly impacted graphics rendering with FXAA (Fast Approximate Anti-Aliasing) and specialized CRT shaders, this shader takes a fundamentally different approach to motion clarity. Instead of simply inserting black frames, it meticulously simulates the progressive scanning action of a CRT electron beam.
On a high-refresh-rate monitor (e.g., 120 Hz or 240 Hz), the shader operates at a multiple of the content framerate, effectively drawing "subframes" sequentially across the screen. For instance, on a 120 Hz monitor, it might draw two distinct subframes for every single game frame. Crucially, these aren’t full-screen black frames. Instead, the shader intelligently darkens or modulates the brightness of portions of the screen as if a CRT electron beam were scanning over them. As the simulated "beam" moves down the screen, it briefly brightens pixels in its path, then allows them to darken again, mimicking the rapid illumination and decay of a CRT phosphor. This creates an "impulse" display effect, but localized and progressive, rather than a global, jarring flicker. The effect is akin to how a real CRT refreshes, with a "beam" drawing lines from top to bottom, resulting in vastly improved perceived motion.
The original Shadertoy implementation, accessible at www.shadertoy.com/view/XfKfWd, offers a visual demonstration of the underlying principles that have now been robustly integrated into RetroArch. This public demonstration served as a proof-of-concept, generating significant interest among display enthusiasts and retro gaming aficionados long before its full integration into the emulator frontend.
Key Advantages Over Traditional BFI:
The CRT Beam Racing shader offers several compelling advantages that address the shortcomings of conventional BFI:
- Reduced Brightness Reduction: While some brightness modulation is inherent in any impulse-display simulation, this shader’s method of localized, progressive darkening is far less aggressive than full-screen BFI. Users report a significantly less noticeable drop in overall luminosity, preserving the vibrancy of games.
- Mitigated Flicker: Because the darkening is progressive and localized rather than a global on/off flash, the perceived flicker is dramatically reduced. This makes the experience far less fatiguing and more comfortable for extended play sessions.
- Enhanced Authenticity: By simulating the progressive scan of a CRT beam, the shader doesn’t just improve motion clarity; it imbues the image with an authentic CRT-like aesthetic. This is particularly appealing to retro gamers seeking to recreate the original experience.
- Improved Image Persistence Resilience: The localized and dynamic nature of the darkening, combined with the multiple subframes, minimizes the risk of voltage accumulation that can lead to image persistence on certain flat panels. This is a critical improvement for the longevity and health of displays, especially for those sensitive to constant on/off cycles. OLED panels, for example, are largely unaffected by such concerns due to their self-emissive nature, making this shader particularly ideal for them. Similarly, monitors running at odd integer multiples of 60 Hz, such as 180 Hz, also exhibit reduced risk.
- Dynamic Adaptability: The shader is designed to adapt to various refresh rates and display technologies, offering runtime parameters that allow users to fine-tune the experience for their specific setup, making it highly versatile.
Implementation and Configuration for Enthusiasts
To leverage this cutting-edge technology, users must ensure they are running RetroArch 1.20.0 or a more recent version (any nightly build will suffice). Older versions lack the crucial Shader Sub-frames feature upon which this innovation relies. This requirement ensures that the underlying rendering pipeline can support the complex, multi-pass operations necessary for the beam racing effect.
For users with high-refresh-rate monitors (120 Hz or higher) eager to experience the difference, the setup process is straightforward:

- Update RetroArch: Confirm your RetroArch installation is version 1.20.0 or newer. This can often be done directly through RetroArch’s online updater.
- Ensure High Refresh Rate: Set your display’s refresh rate to 120 Hz, 240 Hz, or higher in your operating system settings. The higher the refresh rate, the more subframes can be rendered per game frame, leading to even greater motion clarity.
- Navigate to Shaders: Within RetroArch, go to the
Settings > Video > Shadersmenu. - Load the Shader: Select
Load Shader Presetand browse to the shader directory, typicallyshaders_slang/presets/crt-beam-simulator. Here, you will find various pre-made presets incorporating the CRT beam racing shader, often combined with other effects. - Apply and Save: Apply the chosen preset and save it as a Core, Game, or Global override as desired. Saving as a Global override applies it to all content, while a Game override applies it only to a specific title.
One of the shader’s powerful features is its configurability. It includes runtime parameters accessible through the RetroArch shader menu that allow users to adjust settings to their specific display characteristics and personal preferences. Key parameters include:
- Gamma Adjustment: This allows users to compensate for any perceived darkening or unusual dark lines, ensuring a neutral and visually balanced image. This is crucial for maintaining color accuracy and contrast.
- Brightness/Motion Clarity Trade-off: A critical slider that enables users to fine-tune the balance between overall screen brightness and the degree of motion clarity. For 120 Hz monitors operating with two subframes, a value of approximately 0.5 is often recommended as a good starting point. For ultra-high refresh rate 240 Hz monitors utilizing four subframes, a value around 0.7 tends to be ideal, offering robust clarity without excessive dimming. These values are empirical and serve as guides for initial calibration.
- Cycle Timing Offset Disable: For displays less prone to image persistence, such as OLED panels or monitors running at odd integer multiples of 60 Hz (e.g., 180 Hz), this parameter allows users to disable the cycle timing offset. This prevents the simulated raster line from "rolling up" the screen, which can be an artifact on certain display types when the simulation is not perfectly synchronized with the panel’s native refresh characteristics.
- Raster Line Position Adjustment: Users can precisely adjust the vertical position of the simulated raster line, enabling them to place it in the least obtrusive spot for their unique setup and viewing habits, ensuring it doesn’t interfere with game elements.
Furthermore, the CRT Beam Racing shader is designed for maximum compatibility and flexibility. It can be easily combined with other shader presets, such as your favorite CRT scanline or geometry shaders, by simply prepending it to existing shader chains. This allows for a truly customized visual experience, blending the superior motion clarity with other desired aesthetic enhancements. The availability of pre-made presets under shaders_slang/presets/crt-beam-simulator simplifies the initial setup for many users.
Broader Implications and the Future of Display Emulation
The introduction of the CRT Beam Racing shader is more than just a new feature for RetroArch; it represents a significant milestone in display emulation and the broader understanding of motion clarity. By demonstrating that sophisticated impulse display characteristics can be effectively simulated through software on commodity hardware, it opens new avenues for enhancing the visual fidelity of emulated content.
For the retro gaming community, this shader is transformative. It allows players to experience classic games with the motion clarity they were originally designed for, bridging the experiential gap between vintage hardware and modern displays. This level of authenticity enhances immersion and gameplay, particularly for genres like fighting games, shmups, and platformers where precise timing and clear motion are paramount. The positive reactions from early adopters highlight its effectiveness in delivering a more historically accurate visual experience.
Beyond retro gaming, this development could influence future display technologies or software rendering techniques. The principles behind subframe rendering and progressive impulse simulation could potentially inspire new methods for reducing motion blur in contemporary PC gaming or virtual reality applications. It highlights the power of software innovation to overcome perceived hardware limitations, demonstrating that a deep understanding of human visual perception and display technology can yield profound improvements. The collaboration between independent experts and an open-source project like RetroArch underscores the dynamic nature of innovation in this field, proving that cutting-edge display enhancements can originate from community-driven efforts.
Support and Community Engagement
Acknowledging the nuanced nature of display technologies and user setups, comprehensive support resources are available. Mark Rejhon has established an FAQ and troubleshooting guide on his GitHub repository at https://github.com/blurbusters/crt-beam-simulator/issues/4, which serves as a primary resource for common issues and advanced configurations. This repository also functions as a hub for community feedback and ongoing development discussions. Additionally, users can seek assistance through RetroArch’s robust community channels, including Discord, Reddit, and the official Libretro forums. These platforms provide direct access to developers, experienced users, and a wealth of shared knowledge, ensuring that users can optimize their experience and troubleshoot any unique challenges.
Further validating the shader’s impact, a detailed video from a highly knowledgeable individual in display technologies, accessible via YouTube, offers an in-depth explanation and demonstration of the CRT Beam Racing shader. This external endorsement provides valuable context and visual evidence of its capabilities, reinforcing its significance within the broader display technology landscape. Such independent analyses often highlight subtle nuances and technical aspects that resonate deeply with enthusiasts and professionals alike.
The CRT Beam Racing shader stands as a testament to ongoing innovation in display technology and emulation. It offers a sophisticated, software-driven solution to a long-standing challenge, delivering unparalleled motion clarity for retro gaming on modern displays and setting a new benchmark for visual authenticity in the digital realm. Its release marks a pivotal moment for anyone passionate about preserving and experiencing classic games with the fidelity they deserve.
