A significant advancement in display technology for retro gaming emulation has been announced with the introduction of a new shader designed to dramatically enhance motion clarity on contemporary displays. This innovative solution sidesteps the common pitfalls associated with traditional black-frame insertion (BFI) techniques, offering a superior visual experience. The shader is the collaborative effort of two prominent figures in display and graphics technology: Mark Rejhon, widely recognized for his work at BlurBusters, and Timothy Lottes, the acclaimed creator of the original FXAA shader and the highly regarded crt-lottes shaders. Leveraging RetroArch’s recently integrated “subframe” shader capabilities, this technology can operate at multiples of the standard content framerate, delivering unprecedented visual fidelity.
A New Era for Motion Clarity in Retro Gaming
For decades, enthusiasts and purists of classic video games have grappled with a fundamental challenge when playing retro titles on modern displays: the inherent difference in how images are rendered. Cathode Ray Tube (CRT) displays, prevalent during the golden age of arcade and console gaming, operated on an "impulse" display principle. This meant that each pixel was illuminated only for a brief moment as an electron beam scanned across the screen, creating a natural motion blur that was part of the original artistic intent and a key factor in perceived motion smoothness. Modern Liquid Crystal Display (LCD) and Organic Light-Emitting Diode (OLED) panels, however, are "sample-and-hold" displays. They illuminate each pixel for the entire duration of a frame, leading to persistent images on the screen that, when combined with eye tracking, result in noticeable motion blur, often referred to as "sample-and-hold blur" or "persistence blur." This discrepancy has long been a barrier to perfectly replicating the authentic retro gaming experience.
While various solutions, primarily Black-Frame Insertion (BFI), have been attempted to mitigate this blur, they often come with significant compromises, such as reduced brightness, noticeable flicker, and potential for image retention on certain panel types. The new shader, dubbed "CRT Beam Simulator," emerges as a sophisticated answer to this persistent problem, promising to bridge the visual gap between vintage and contemporary display technologies without the customary drawbacks. Its development marks a pivotal moment for emulation, offering a path to truly recapturing the crisp, fluid motion characteristic of original hardware.
The Technical Ingenuity: Subframes and Beam Simulation
The core innovation driving this new shader lies in its utilization of RetroArch’s recently added "subframe" shader capabilities. This feature, introduced in RetroArch 1.20.0 and subsequent nightly builds, allows the rendering pipeline to process and display frames at a frequency higher than the game’s native framerate. Unlike traditional shaders that operate on a single frame at a time, subframe shaders can manipulate multiple intermediate frames within a single display refresh cycle. This enables a level of temporal precision previously unattainable, making it possible to simulate the dynamic behavior of a CRT’s electron beam.
Instead of simply inserting a black frame to briefly extinguish the image, the CRT Beam Simulator shader meticulously mimics the scanning process of a CRT. It dynamically adjusts the illumination and position of simulated scanlines across the display, creating an effect that emulates the way a CRT’s electron beam draws an image line by line. This "beam-racing" approach means that instead of a static image held for the entire frame duration, the perceived image is constructed through a rapid, sequential illumination, significantly reducing the persistence blur inherent to sample-and-hold displays. By operating at multiples of the standard content framerate—for instance, four subframes for a 240 Hz monitor displaying 60 Hz content—the shader can create a much more convincing "impulse" display effect, where each part of the image is briefly visible, akin to how it would appear on an original CRT. This method is fundamentally more nuanced than BFI, which often just toggles the entire screen off, leading to the aforementioned issues.
The Minds Behind the Innovation: Rejhon and Lottes
The collaborative genius behind the CRT Beam Simulator is a testament to the power of specialized expertise. Mark Rejhon, the founder of BlurBusters, is a highly respected authority in the field of display technology, particularly known for his extensive research and advocacy for motion clarity. BlurBusters has been instrumental in educating the public and the industry about the nuances of display performance, high refresh rates, and blur reduction techniques. Rejhon’s deep understanding of human visual perception and display physics has been crucial in developing algorithms that effectively combat motion blur without introducing unwanted artifacts. His prior work has consistently pushed the boundaries of what’s possible in achieving CRT-like motion on modern panels, making him a natural fit for this groundbreaking project.
Complementing Rejhon’s display expertise is Timothy Lottes, a legendary figure in real-time graphics. Lottes is best known for creating Fast Approximate Anti-Aliasing (FXAA), a widely adopted post-processing anti-aliasing technique that revolutionized graphics rendering by offering a performant alternative to more computationally intensive methods. Beyond FXAA, Lottes has also developed the popular crt-lottes shaders, which are celebrated for their authentic replication of CRT visual characteristics, including scanlines, curvature, and color bleed. His profound understanding of shader programming and visual aesthetics ensures that the CRT Beam Simulator not only performs technically but also delivers a visually pleasing and authentic retro experience. The synergy between Rejhon’s scientific approach to display motion and Lottes’ artistic and technical mastery of shader development has culminated in a solution that is both scientifically sound and aesthetically faithful.

Addressing the Achilles’ Heel of Modern Displays: Motion Blur
The "sample-and-hold" effect, the primary culprit behind motion blur on modern displays, arises because each pixel remains illuminated for the entire duration of a frame. When an object moves across the screen, the eye tracks its motion. However, because the image of the object is held static in each frame, the brain perceives a smeared trail rather than a crisp, continuously moving entity. This effect is most pronounced with fast-moving content on lower refresh rate displays but is still observable even on high-refresh-rate monitors.
Traditional Black Frame Insertion (BFI) attempts to counter this by inserting a black frame between each content frame, effectively reducing the "hold" time of each image. While this does reduce motion blur, it comes with several well-documented drawbacks. The most immediate is a significant reduction in perceived brightness, as the screen is completely off for a portion of the time. This can make games appear dim and less vibrant. Furthermore, the rapid on/off flickering can cause eye strain and, for some sensitive individuals, lead to headaches or discomfort. On certain panel types, particularly older LCDs, repeated BFI can also contribute to temporary image persistence, where residual ghosting of the previous image remains.
The CRT Beam Simulator, through its subframe-enabled "beam-racing" technique, offers a sophisticated alternative. Instead of a uniform black frame, it uses intermediate states to simulate the progressive scanning of a CRT. This means that while parts of the screen may be less illuminated at any given micro-moment, the overall perceived brightness is less drastically impacted than with full-screen BFI. The flickering is also minimized or eliminated because the screen is never fully black; rather, it’s a dynamic pattern of light that mimics natural CRT behavior, making it far less jarring to the eye. This intelligent approach allows the shader to provide superior motion clarity without the typical compromises, representing a significant leap forward in display emulation.
RetroArch’s Pivotal Role and the Subframe Architecture
RetroArch, as the universal frontend for the Libretro API, has long been a cornerstone of the emulation community, known for its extensive features, cross-platform compatibility, and highly customizable nature. Its plugin-based architecture allows for incredible flexibility, particularly in the realm of visual enhancements through shaders. The introduction of the "Shader Sub-frames" feature in RetroArch 1.20.0 was not merely an incremental update but a foundational technological leap that enabled this new class of advanced visual processing.
Before subframes, shaders typically operated on a single, complete frame of rendered content. While powerful for static image manipulation (like applying CRT filters or anti-aliasing), they lacked the temporal resolution to effectively simulate dynamic display characteristics such as impulse-driven motion. The subframe architecture provides the necessary framework for shaders to interact with the display refresh cycle at a much finer granularity. This means a shader can now influence how multiple "sub-frames" are generated and displayed within a single refresh period of the monitor, effectively allowing the software to control the illumination pattern at a microsecond level. This capability is precisely what the CRT Beam Simulator leverages to simulate the rapid, sequential illumination of a CRT’s electron beam. The initial Shadertoy implementation, available at www.shadertoy.com/view/XfKfWd, served as an early proof-of-concept for the underlying principles, demonstrating the potential before its full integration into the RetroArch ecosystem.
Unleashing the Shader: Installation and Configuration
To experience the benefits of the CRT Beam Simulator, users are required to have RetroArch version 1.20.0 or a more recent nightly build, as previous versions lack the essential Shader Sub-frames feature. Furthermore, a high-refresh-rate monitor (120 Hz or higher) is crucial for the shader to perform optimally, as it relies on the display’s ability to render at elevated frequencies to create the subframe effect.
Once the compatible RetroArch version is installed, users can navigate to the shader settings within the RetroArch menu. The CRT Beam Simulator shader, often found within the shaders_slang/crt-beam-simulator directory, can be loaded either as a standalone preset or as part of a multi-pass shader chain. A key advantage of this shader is its modularity; it can be seamlessly prepended to existing shader presets, allowing users to combine its motion clarity benefits with their favorite CRT emulation shaders (e.g., scanline generators, curvature effects) for a truly comprehensive retro visual package.
Upon activation, the shader includes several runtime parameters that allow for fine-tuning based on the specific display and user preference. These parameters are accessible directly within RetroArch’s shader menu. A crucial adjustment is the gamma setting, which helps achieve a neutral image and eliminate any unintended dark lines or artifacts that might appear due to the beam simulation. Another vital parameter allows users to fine-tune the trade-off between brightness and motion clarity. For monitors running at 120 Hz, utilizing two subframes per content frame, a value of approximately 0.5 for this parameter generally yields an optimal balance. For displays capable of 240 Hz, which can leverage four subframes, a slightly higher value of around 0.7 is often ideal. These adjustments empower users to customize the visual output to best suit their individual setup and preferences, ensuring a personalized and superior retro gaming experience.

Overcoming Display-Specific Challenges
While the CRT Beam Simulator offers a revolutionary approach to motion clarity, the diverse landscape of modern display technologies necessitates intelligent adaptability. One particular concern with traditional flicker-based blur reduction methods, including some BFI implementations, is the risk of image persistence on certain flat-panel monitors. This phenomenon occurs due to voltage accumulation in the panel caused by rapid on/off flickering, leading to temporary ghosting of previous images.
However, not all modern displays are equally susceptible to this issue. OLED panels, for example, are largely unaffected by image persistence from flickering, given their self-emissive nature and rapid pixel response times. Similarly, monitors running at odd integer multiples of 60 Hz, such as 180 Hz, may also exhibit different flicker characteristics that mitigate this risk. Recognizing these display-specific nuances, the developers have thoughtfully included a runtime parameter to disable the cycle timing offset. This feature is particularly useful for users with OLEDs or specific high-refresh-rate panels where the standard beam simulation might cause the simulated raster line to appear to "roll up" the screen in an obtrusive manner. By disabling this offset, the shader can maintain its motion clarity benefits without introducing unwanted visual artifacts on these particular display types.
Additionally, another parameter allows users to precisely adjust the vertical position of the simulated raster line. This level of control ensures that users can place the raster line in the least obtrusive or most aesthetically pleasing spot for their individual setup, further enhancing the customizability and user experience. This meticulous attention to display compatibility underscores the shader’s robust design and its aim to provide a universally excellent experience across a wide range of modern monitors.
Broader Implications for Emulation and Display Technology
The introduction of the CRT Beam Simulator shader represents more than just an incremental improvement for RetroArch users; it signifies a substantial leap forward for the entire field of retro gaming emulation and display technology. By effectively mitigating the long-standing issue of sample-and-hold blur without the severe drawbacks of previous methods, this shader sets a new benchmark for visual authenticity in emulated content. It brings the elusive "impulse display" characteristics of CRTs closer to reality on modern flat panels, allowing a new generation of gamers and enthusiasts to experience classic titles with the motion clarity their original hardware offered.
This innovation also highlights the power of open-source collaboration and the ongoing pursuit of perfection within the emulation community. The combined expertise of industry leaders like Mark Rejhon and Timothy Lottes, integrated into a flexible platform like RetroArch, demonstrates how community-driven development can push technological boundaries that often surpass commercial solutions. Furthermore, the underlying "subframe" architecture within RetroArch itself opens doors for future advanced shader effects, potentially paving the way for even more sophisticated visual enhancements and display simulations. This could inspire further research and development in display rendering, influencing how future games and media content are designed to interact with high-refresh-rate displays. The implications extend beyond retro gaming, potentially offering new avenues for improving motion perception in all forms of digital media.
Community Support and Resources
Recognizing that advanced display technologies can sometimes present unique challenges, comprehensive support resources have been made available to users. For any issues encountered during the implementation or tuning of the CRT Beam Simulator shader, Mark Rejhon has provided an extensive FAQ and troubleshooting guide directly on his GitHub repository, accessible at https://github.com/blurbusters/crt-beam-simulator/issues/4. This resource is invaluable for diagnosing common problems and optimizing shader performance.
Beyond the dedicated GitHub guide, users can also seek assistance through RetroArch’s established community support channels. These include the vibrant Discord server, where real-time discussions and troubleshooting occur, the active Reddit community, and the official Libretro forums, which host detailed discussions and technical support threads. These platforms provide a collective knowledge base and direct access to experienced users and developers, ensuring that assistance is readily available. Additionally, for those interested in a deeper dive into the technical aspects of display technologies and the shader’s underlying principles, a highly informative video from a respected expert in display technologies is available for viewing at https://www.youtube.com/watch?v=PmXmr4Yiz_0. This video provides valuable context and insights, further enriching the user’s understanding of this groundbreaking development.
