A groundbreaking new shader has been unveiled for RetroArch, promising a significant leap in motion clarity on modern high-refresh-rate displays. This innovation effectively circumvents the longstanding limitations typically associated with Black Frame Insertion (BFI) techniques, which, despite improving perceived motion, often introduce undesirable side effects such as reduced brightness and noticeable flicker. The shader is the result of a collaborative effort between Mark Rejhon, a renowned display technology expert from BlurBusters, and Timothy Lottes, the celebrated creator of the original FXAA shader and the highly regarded crt-lottes shaders. Its core functionality hinges on RetroArch’s recently integrated "subframe" shader capabilities, allowing it to process and render images at multiples of the standard content framerate, thereby simulating the instantaneous pixel response and scanning behavior characteristic of cathode ray tube (CRT) displays.
The Enduring Quest for Motion Clarity in Digital Displays
For decades, enthusiasts and casual users alike have grappled with the inherent motion blur present on modern flat-panel displays. Unlike the CRT monitors of yesteryear, which produced images by rapidly scanning an electron beam across the screen, illuminating phosphors that quickly faded, contemporary LCD, OLED, and other flat-panel technologies typically operate on a "sample-and-hold" principle. This means each frame is displayed continuously for the entire duration of its refresh cycle, rather than as a fleeting impulse. When an object moves across the screen, the static image of that object is held in place for the duration of the frame, causing the eye to track the moving object across a series of static positions, resulting in a smeared or blurred appearance. This phenomenon, known as "persistence blur" or "sample-and-hold blur," is a fundamental characteristic of how these displays render motion.
Early attempts to mitigate motion blur focused on increasing refresh rates and improving pixel response times. While a higher refresh rate (e.g., 120 Hz, 144 Hz, 240 Hz) certainly reduces the duration each frame is held, it doesn’t fundamentally alter the sample-and-hold mechanism. The blur persists, albeit for shorter intervals, leading to a perception that, while better, still falls short of the pristine motion clarity offered by CRTs. This quest for CRT-like motion led to the widespread adoption of Black Frame Insertion (BFI). BFI works by inserting a brief black frame between each rendered game frame. By momentarily turning off the backlight or pixels, the display effectively creates an impulse-like presentation, resetting the eye’s persistence and reducing the perceived blur. However, BFI comes with significant trade-offs: the insertion of black frames inherently reduces the overall perceived brightness of the display, often by 50% or more. Moreover, the rapid flickering between light and dark frames can cause eye strain, headaches, and for some, an uncomfortable viewing experience. Certain display technologies also run the risk of image persistence or "burn-in" due to the constant voltage cycling, though this is less of a concern with newer panels. The challenge, therefore, has been to achieve the benefits of BFI without its debilitating drawbacks.
RetroArch’s Subframe Revolution: A New Paradigm
The catalyst for this new shader’s capabilities is RetroArch’s pioneering implementation of "subframe" shader support. RetroArch, a versatile frontend for emulators, game engines, video games, media players, and other applications, has long been a hub for advanced display enhancements, particularly for retro gaming. Its robust shader system allows users to apply complex visual filters in real-time, ranging from CRT simulations to anti-aliasing techniques. The introduction of subframe capabilities marks a significant evolution in this system.
Prior to subframe support, shaders typically operated on a per-frame basis, processing a single output frame for each input frame. With subframe capabilities, RetroArch can now instruct the GPU to render and process multiple "sub-frames" within the refresh cycle of a single logical game frame. This means that if a game runs at 60 frames per second (fps) on a 120 Hz monitor, RetroArch can process two subframes for every single game frame. On a 240 Hz monitor, it can process four subframes. This granular control over the display’s refresh cycle is precisely what allows the new shader to achieve its unique effect. It’s not merely inserting black frames but intelligently manipulating the pixel output across these subframes to simulate the nuances of a CRT’s electron beam scanning, including effects like beam racing and phosphor decay, which are crucial for authentic motion clarity. This architectural advancement by the RetroArch development team provides the low-level access and synchronization required for such sophisticated display techniques, effectively turning the display panel into a much more dynamic and controllable canvas.

The Architects of Clarity: Rejhon and Lottes Collaboration
The development of this shader is a testament to the combined expertise of two prominent figures in display technology and graphics programming. Mark Rejhon, widely recognized through his work at BlurBusters, has dedicated years to researching and advocating for improved motion clarity in displays. His website is a seminal resource for understanding display science, refresh rates, response times, and the intricacies of motion blur. Rejhon’s deep understanding of human visual perception and display physics provided the theoretical foundation and practical goals for what a truly effective motion clarity solution should achieve.
Timothy Lottes, on the other hand, brings an unparalleled background in real-time graphics rendering. His creation of FXAA (Fast Approximate Anti-Aliasing) revolutionized how developers could achieve anti-aliasing efficiently across various hardware platforms. His subsequent work on CRT-lottes shaders demonstrated a profound ability to translate the complex visual characteristics of CRT displays into highly optimized, aesthetically pleasing software shaders. This collaboration combines Rejhon’s understanding of display behavior with Lottes’s mastery of simulating that behavior at the pixel level, leveraging modern GPU capabilities. The shader’s initial implementation on Shadertoy (www.shadertoy.com/view/XfKfWd) served as a proof-of-concept, allowing rapid iteration and community feedback before its integration into RetroArch’s robust framework. This open-source development methodology, characteristic of the RetroArch community, ensures that cutting-edge research is quickly translated into accessible user-facing features.
Technical Superiority: Beyond Conventional BFI
The key innovation of this shader lies in its ability to deliver superior motion clarity without the traditional drawbacks of BFI. While the exact technical specifics are complex, the underlying principle involves a sophisticated simulation of a CRT’s scanning electron beam rather than a simple global dimming. Instead of merely turning the screen black, the shader manipulates pixel illumination across the subframes to create a "rolling scanline" effect that mimics how a CRT draws an image from top to bottom. This localized, rather than global, darkening achieves several crucial advantages:
- Reduced Brightness Loss: Unlike BFI, which can halve perceived brightness, this shader aims to minimize overall light reduction. By selectively manipulating pixel luminance within subframes in a sequential manner, it avoids the harsh, uniform darkening of the entire screen. Users can fine-tune a trade-off between brightness and motion clarity via runtime parameters, allowing for a personalized balance that wasn’t possible with rigid BFI implementations.
- Elimination of Global Flicker: The "black frame" in BFI is a global event that affects the entire screen simultaneously, leading to a noticeable and often uncomfortable flicker. This new shader, by simulating a scanning beam, distributes the "darkening" effect across the screen in a sequential, localized manner. This rolling effect is significantly less jarring to the human eye, reducing or eliminating the sensation of flicker and associated eye strain.
- Mitigation of Image Persistence Risks: For certain flat-panel technologies, the rapid on/off cycling of BFI can contribute to image persistence or voltage accumulation. By adopting a more nuanced, "beam-racing" approach, the shader potentially reduces this risk. This is particularly relevant for displays that are sensitive to such patterns.
- Enhanced Authenticity for Retro Gaming: Beyond mere motion clarity, the shader’s ability to simulate a rolling raster line adds a layer of authenticity crucial for retro gaming. Many classic games were designed with the visual characteristics of CRTs in mind, and this shader brings those subtle display nuances back, enriching the emulation experience.
Implementation Guide and Customization Options
To leverage this advanced motion clarity shader, users must ensure they are running RetroArch version 1.20.0 or a more recent nightly build. Earlier versions lack the essential Shader Sub-frames feature upon which this innovation relies. The installation process generally involves downloading the shader pack (often included in RetroArch’s online updater) and then loading it through the RetroArch interface.
Once the necessary RetroArch version is in place, users with high-refresh-rate monitors (120 Hz or higher) can apply the shader. RetroArch’s flexible shader pipeline allows for incredible customization. The new motion clarity shader can be seamlessly combined with other existing shader presets, such as popular CRT shaders (e.g., crt-geom, crt-royale), by simply prepending it to the shader chain. This means users don’t have to sacrifice their preferred aesthetic filters to gain enhanced motion clarity. For convenience, several pre-made presets incorporating the CRT beamracing shader are available under the shaders_slang/presets/crt-beam-simulator directory, offering immediate access to optimized configurations.

A critical aspect of this shader’s design is its comprehensive set of runtime parameters, allowing for fine-tuning based on individual display characteristics and user preferences. These parameters can be adjusted within RetroArch’s shader menu:
- Gamma Adjustment: This parameter allows users to compensate for any perceived darkening or "unusual dark lines" that might appear due to the shader’s operation. The goal is to achieve a neutral image, ensuring color accuracy and consistent luminance across the screen.
- Brightness/Motion Clarity Trade-off: Users can actively balance how much brightness they are willing to sacrifice for maximum motion clarity. This is particularly useful as display technologies vary. Recommended starting values are approximately
0.5for 120 Hz monitors (which use 2 subframes per game frame) and0.7for 240 Hz monitors (which utilize 4 subframes), providing a good balance for most setups. - Cycle Timing Offset: This parameter addresses display-specific characteristics. For certain flat-panel monitors that are susceptible to image persistence from flickering, the simulated raster line rolling up the screen might be undesirable or even problematic. In such cases, the cycle timing offset can be enabled. However, for displays like OLED panels or monitors running at odd integer multiples of 60 Hz (e.g., 180 Hz), which are generally unaffected by voltage accumulation and image persistence, this parameter can be disabled.
- Raster Line Position: This offers an aesthetic customization, allowing users to adjust the exact position of the simulated raster line on the screen. This ensures that the visual effect is placed in the least obtrusive or most pleasing spot for the user’s specific setup.
Display Compatibility and Future Outlook
It is important to note that not all flat-panel monitors face the same risks regarding image persistence caused by on/off flickering. OLED panels, for instance, are largely immune to this issue due to their self-emissive nature and different pixel degradation mechanisms. Similarly, monitors operating at refresh rates that are odd integer multiples of 60 Hz, such as 180 Hz, often exhibit different persistence characteristics. For users with these types of displays, the shader provides the flexibility to disable certain parameters, like the cycle timing offset, which prevents the simulated raster line from "rolling up" the screen, as it’s not necessary to counteract non-existent persistence issues. This intelligent adaptation ensures the shader provides benefits without introducing unnecessary complexities or risks.
The introduction of this shader represents a significant step forward in the ongoing effort to bridge the gap between classic display technologies and modern screens. It highlights the power of software-based solutions to enhance hardware capabilities, offering an authentic retro gaming experience that was once thought to be exclusively the domain of aging CRT hardware. As display technologies continue to evolve, with higher refresh rates, greater pixel density, and new panel types emerging, sophisticated shaders like this will play an increasingly vital role in maximizing visual fidelity and motion performance.
Community Support and Further Resources
The developers are committed to supporting users and refining the shader. Mark Rejhon has established a comprehensive FAQ and troubleshooting guide on his GitHub repository (https://github.com/blurbusters/crt-beam-simulator/issues/4), which serves as an invaluable resource for addressing common issues and understanding advanced configurations. Additionally, the broader RetroArch community offers multiple support channels, including Discord, Reddit, and the official Libretro forums, where users can seek assistance, share their experiences, and contribute to the ongoing development and improvement of the shader. For those seeking a deeper dive into the technical underpinnings and visual demonstrations, a detailed video from a highly knowledgeable display technologies expert is available, providing further insights into the shader’s functionality and impact (https://www.youtube.com/watch?v=PmXmr4Yiz_0). This collaborative approach, combining expert development with active community engagement, ensures that this groundbreaking motion clarity solution will continue to evolve and enhance the retro gaming experience for years to come.
