The groundbreaking shader is the result of a collaborative effort between Mark Rejhon of BlurBusters, a leading authority on display technology and motion clarity, and Timothy Lottes, the acclaimed creator of the original FXAA (Fast Approximate Anti Aliasing) shader and the popular crt-lottes shaders. This innovation capitalizes on RetroArch’s recently integrated "subframe" shader capabilities, allowing it to operate at multiples of the standard content framerate, thereby simulating the precise visual characteristics of legacy display technologies. Users are advised to ensure they are running RetroArch version 1.20.0 or a more recent nightly build, as previous versions lack the essential Shader Sub-frames feature required for this technology. The original Shadertoy implementation, offering a foundational look at the shader’s capabilities, can be viewed at www.shadertoy.com/view/XfKfWd.
The Enduring Challenge of Motion Clarity on Modern Displays
For decades, cathode-ray tube (CRT) displays were the gold standard for motion clarity, particularly in gaming. Their inherent scanning mechanism, where an electron beam rapidly illuminates pixels line by line, meant that each frame was only momentarily displayed before the beam moved on, effectively creating a "sample-and-hold" effect for an extremely short duration. This "impulse-type" display minimized persistence, resulting in remarkably clear motion even during fast-paced action.
However, the advent of flat-panel displays, primarily LCDs and later OLEDs, brought about a paradigm shift. While offering superior resolution, brightness, and color reproduction, these "sample-and-hold" displays illuminate all pixels simultaneously and maintain that image until the next frame is drawn. This continuous illumination, even for a brief 16.67ms at 60Hz, leads to perceived motion blur because the eye tracks moving objects across the screen while the image itself is static relative to the panel’s refresh cycle. This mismatch between eye movement and static image presentation creates a smearing effect, a phenomenon widely documented by display scientists and enthusiasts alike.
To combat this, display manufacturers introduced techniques like Black-Frame Insertion (BFI). BFI works by inserting a brief black frame between each displayed content frame. This effectively reduces the "sample-and-hold" duration, mimicking the impulse display characteristics of CRTs and thereby improving motion clarity. While BFI can be effective, it comes with significant drawbacks: a noticeable reduction in overall screen brightness, a potential for visible flicker that can cause eye strain for some users, and, on certain panel types, a risk of image persistence or "burn-in" due to the rapid on-off cycling. These limitations have often made BFI a compromise rather than a perfect solution, especially for those seeking to replicate the uncompromised motion fluidity of classic gaming.

A New Era of Software-Defined Motion Enhancement
The development of this new RetroArch shader marks a significant leap forward in addressing the motion clarity dilemma. Instead of merely inserting black frames, the shader employs a sophisticated "CRT beamracing" simulation. This technique aims to replicate the precise, progressive scanning behavior of a CRT at a sub-frame level, rather than globally dimming the entire screen. The collaboration between Rejhon and Lottes brings together unparalleled expertise in display characteristics and advanced graphics programming. Mark Rejhon, through BlurBusters, has long been at the forefront of educating the public and industry about display performance and motion blur, advocating for higher refresh rates and smarter display technologies. Timothy Lottes, on the other hand, is a pioneer in real-time graphics effects, with his FXAA shader becoming a ubiquitous solution for anti-aliasing and his crt-lottes shaders setting benchmarks for authentic CRT emulation. Their combined knowledge has been crucial in crafting a solution that transcends previous BFI limitations.
The "subframe" shader capability within RetroArch is the technological bedrock enabling this innovation. Traditionally, shaders operate on a per-frame basis, processing a complete image before it is displayed. RetroArch’s subframe architecture, however, allows shaders to render and manipulate content at a granularity finer than a single frame. This means that for a 60Hz content source on a 120Hz display, the shader can render two distinct "subframes" for every single original frame. This capability is harnessed to generate intermediate states, effectively drawing portions of the screen at different times within a single display refresh cycle, much like a CRT’s electron beam sweeps across the screen.
The Technical Ingenuity of CRT Beamracing
The core innovation lies in the shader’s ability to simulate a rolling scanline effect across the screen. Instead of a full black frame, the shader dynamically adjusts the luminance of different screen regions over time, creating the illusion of a virtual "electron beam" progressively drawing the image. This method offers several key advantages over conventional BFI:
- No Global Brightness Reduction: Unlike BFI, which inherently halves the perceived brightness by introducing black frames, the CRT beamracing shader avoids this global dimming. Instead, it selectively darkens only specific portions of the screen at any given moment, maintaining a higher overall perceived brightness.
- Reduced Flicker: The localized and progressive dimming pattern significantly reduces the jarring flicker often associated with traditional BFI, leading to a more comfortable viewing experience, especially during extended gaming sessions.
- Minimal Image Persistence Risk: The nuanced, non-global dimming approach lessens the risk of image persistence or burn-in, a particular concern for some display technologies when subjected to rapid, uniform on/off cycles. OLED panels, known for their excellent response times, are notably unaffected by image persistence from this technique, as are monitors operating at odd integer multiples of 60 Hz, such as 180 Hz. For these specific display types, a runtime parameter is included to disable the cycle timing offset, which prevents the simulated raster line from rolling up the screen, ensuring optimal performance without unnecessary effects. Furthermore, users can adjust the position of this simulated raster line to find the least obtrusive spot for their particular setup and preferences.
- Enhanced Authenticity: By simulating the scanning process, the shader not only improves motion clarity but also contributes to a more authentic retro gaming experience, closely mirroring the visual characteristics of original CRT displays.
The effectiveness of this shader is directly tied to the display’s refresh rate. High-refresh-rate monitors (120 Hz or higher) are essential because they provide the necessary temporal resolution for the subframe rendering to be effective. For instance, a 120 Hz monitor can display two subframes for every 60 Hz content frame, while a 240 Hz monitor can handle four subframes, allowing for an even more refined and authentic simulation of the CRT scanning process.
Implementation and Fine-Tuning for Optimal Performance
Integrating this advanced shader into a RetroArch setup is designed to be straightforward for users with compatible hardware. For those equipped with a high-refresh-rate monitor (120 Hz or higher), the process typically involves navigating to RetroArch’s shader menu, loading the specific shaders_slang/crt-beam-simulator/beam-racing.slangp preset. This can either be loaded as a standalone shader or, for those who wish to combine it with other visual enhancements, it can be prepended to existing shader presets (e.g., favorite CRT shaders) without encountering compatibility issues. For added convenience, pre-made presets incorporating the CRT beamracing shader are available under shaders_slang/presets/crt-beam-simulator.

Once activated, the shader offers several runtime parameters that allow for precise tuning based on individual display characteristics and user preferences. These parameters are crucial for optimizing the visual output:
- Gamma Adjustment: Users can adjust the gamma to achieve a neutral image, eliminating any unusual dark lines that might appear due to display variations. This ensures that the overall brightness and contrast remain consistent with the original content.
- Brightness/Motion Clarity Trade-off: A key parameter allows users to fine-tune the balance between perceived brightness and the degree of motion clarity. The recommended values serve as excellent starting points: approximately 0.5 works well for 120 Hz monitors (utilizing 2 subframes), while a value of around 0.7 is ideal for 240 Hz monitors (leveraging 4 subframes). These settings help users achieve the desired visual experience without compromising too much on either front.
- Cycle Timing Offset & Raster Line Position: As mentioned, for specific displays like OLEDs or those running at 180 Hz, a runtime parameter exists to disable the cycle timing offset, preventing the simulated raster line from "rolling up" the screen unnecessarily. Additionally, the position of this simulated raster line can be adjusted, allowing users to place it in the least obtrusive or most aesthetically pleasing spot on their display.
Expert Endorsement and Community Engagement
The unveiling of this shader has been met with considerable enthusiasm within the RetroArch community and among display technology experts. While no direct official statements were provided in the initial release, the involvement of Mark Rejhon and Timothy Lottes itself speaks volumes about the significance and technical prowess of this development. Mark Rejhon, through BlurBusters, has consistently championed advancements that enhance display motion quality, and this shader aligns perfectly with his mission to bring the clarity of impulse displays to modern panels. Timothy Lottes’s contribution further cements his legacy in real-time graphics, pushing the boundaries of what software shaders can achieve.
The broader community reaction, as evidenced by discussions on forums and social media, has been overwhelmingly positive. Early testers are reporting a noticeable improvement in motion clarity, often describing the experience as transformative for retro gaming. A highly insightful video from a respected figure in display technologies, available on YouTube (linked in the original announcement), further validates the shader’s capabilities and explains its underlying principles in detail, offering an expert perspective on its impact. This video serves as an unofficial endorsement, highlighting the technical sophistication and practical benefits of the CRT beamracing simulation. Users seeking assistance or looking to report issues can refer to Mr. Rejhon’s comprehensive FAQ and troubleshooting guide on his GitHub repository at https://github.com/blurbusters/crt-beam-simulator/issues/4. Additionally, RetroArch’s established support channels, including Discord, Reddit, and the Libretro forums, remain available for community assistance.
Broader Implications for Emulation and Display Technology
This new shader is more than just an enhancement for retro gaming; it represents a significant step forward in the broader field of display technology and software-driven visual improvements. For the emulation community, it offers an unprecedented level of authenticity, allowing players to experience classic games with the motion clarity that was originally intended, a fidelity often lost on modern sample-and-hold displays. This could reignite interest in a vast library of retro titles, making them more visually appealing and immersive for a new generation of players.
Beyond emulation, the techniques pioneered in this shader could inspire similar innovations in other areas of display technology. The concept of subframe rendering and dynamic, localized display manipulation opens doors for software-based solutions to enhance motion clarity in general computing, professional applications, and even contemporary gaming. It underscores the potential for clever software engineering to mitigate hardware limitations and improve the user experience across a wide range of visual applications. The ongoing pursuit of visual fidelity and immersion, particularly in fast-moving content, benefits immensely from such advancements. Furthermore, the development highlights the critical role of open-source projects like RetroArch, which, by fostering collaboration and providing flexible platforms, continue to be incubators for groundbreaking technological innovation. The CRT beamracing shader is a testament to the power of community-driven development in pushing the boundaries of what’s possible in digital displays.
