Revolutionizing Retro Gaming: Libretro Introduces the BlurBusters CRT Beam Simulator Shader for RetroArch
Executive Overview
The emulation community has achieved a monumental breakthrough in motion clarity and cathode-ray tube (CRT) visual simulation. Libretro has officially rolled out native support for a groundbreaking new shader developed through a high-profile collaboration between Mark Rejhon of BlurBusters—the premier authority on display motion and persistence reduction—and Timothy Lottes, the legendary graphics engineer renowned for creating the original Fast Approximate Anti-Aliasing (FXAA) shader and the celebrated crt-lottes filter suite.
Designed specifically to run within the ecosystem of RetroArch 1.20.0 and newer nightly builds, this new shader harnesses RetroArch’s recently implemented "subframe" rendering capabilities. By operating at exact multiples of a standard content’s framerate, the shader simulates the physical scanning beam of a vintage CRT television on modern high-refresh-rate flat-panel displays. Crucially, it accomplishes this without the standard compromises and visual artifacts historically associated with traditional Black-Frame Insertion (BFI) techniques.
For decades, retro gaming enthusiasts and purists have faced an intractable dilemma: modern sample-and-hold display panels (including LCDs and OLEDs) introduce pronounced motion blur due to persistence-of-vision effects, while legacy BFI methods exact a heavy toll on overall image brightness, introduce severe flicker, and create distracting visual artifacts. The new CRT beam simulator shader bypasses these limitations by leveraging high-frequency subframe rendering. It allows users on 120Hz, 240Hz, and even higher-refresh-rate monitors to experience unprecedented motion sharpness and authentic scanline dynamics.
This comprehensive report explores the technological mechanics behind the new RetroArch subframe architecture, the collaborative genius of Rejhon and Lottes, practical configuration steps for enthusiasts, and the broader implications of this development for the future of display technology and retro gaming preservation.
Detailed Chronology: The Road to Subframe CRT Emulation
To fully appreciate the significance of this release, one must trace the evolutionary trajectory of display motion clarity and emulation-based CRT simulation over the past two decades.
The Sample-and-Hold Dilemma
When the consumer electronics market transitioned en masse from bulky, analog CRT monitors to flat-panel LCDs and OLEDs, a quiet casualty was left in the wake: motion clarity.
- CRT Displays: Operating on an impulse-type display mechanism, a CRT draws each scanline instantaneously using an electron beam, illuminating phosphors that decay rapidly. The image is only visible for a fraction of a millisecond per frame, meaning human eye tracking does not smear the image across the retina. This results in pristine motion clarity, albeit at the cost of potential flicker at lower refresh rates.
- Modern Flat Panels: Conversely, modern displays utilize a sample-and-hold methodology. A frame is rendered and held statically on the screen until the next frame replaces it. As the human eye tracks a moving object across a sample-and-hold display, the static image lingers on the retina during the eye’s continuous motion, resulting in an inherent, unavoidable blurring effect known as display motion blur.
Early Mitigation Efforts: BFI and Its Pitfalls
To combat sample-and-hold blur, display manufacturers and software developers introduced Black-Frame Insertion (BFI). By periodically inserting an entirely black frame between active content frames, BFI briefly rests the human eye’s photoreceptors, mimicking the impulse nature of CRTs.

However, software-level and hardware-level BFI implementations have historically suffered from critical flaws:
- Severe Luminance Loss: Halving or quartering the number of visible frames drastically reduces peak and average display brightness, rendering games unplayable in moderately lit rooms without aggressive HDR tonemapping.
- Stroboscopic Flicker: Low-frequency BFI (such as flashing black frames at 60Hz) introduces noticeable, fatiguing flicker that can induce headaches or eye strain in users.
- Cross-talk and Artifacts: Standard frame-rate BFI lacks synchronization with display response times, leading to ghosting and scanline tearing.
The Genesis of the Subframe Shader
Recognizing these limitations, display experts at BlurBusters—led by Mark Rejhon—began conceptualizing a more sophisticated method of motion clarity enhancement. Rather than dropping entire frames to black at the base content rate, what if an emulation frontend could execute multiple micro-renders (subframes) within a single display refresh cycle?
Concurrently, the Libretro core development team engineered a robust "Shader Sub-frames" architecture directly into RetroArch, debuting with version 1.20.0. This architectural update unlocked the ability for slang shaders to process at integer multiples of the host content framerate.
Enter Timothy Lottes. Combining Rejhon’s theoretical framework for beam-racing and motion persistence reduction with Lottes’s masterclass shader programming expertise, the Shadertoy prototype (www.shadertoy.com/view/XfKfWd) was translated into the Libretro slang shader pipeline. The result is the newly released CRT beam simulator—a tool that mathematically mimics the electron beam sweep of a vintage television set at sub-millisecond precision.
Supporting Context & Technical Metrics
The technical brilliance of the BlurBusters CRT beam simulator lies in its deep integration with display physics and modern GPU shader pipelines.
Understanding the Architecture: Slang Shaders and Subframes
RetroArch utilizes the Slang shader language—a variant of HLSL that compiles down to GLSL, Metal, or Vulkan depending on the host operating system and hardware graphics API. Prior to version 1.20.0, shaders operated strictly on a 1:1 ratio with incoming game frames (typically 59.94 Hz for NTSC content).
The new subframe capability breaks this constraint. If a user is running a 120Hz display, RetroArch can execute the subframe shader twice per game frame. On a 240Hz display, it executes four times. This temporal granularity allows the shader to simulate a moving raster scanline that traverses the physical display panel at speeds matching high-end hardware scanning.

Key Advantages Over Conventional BFI
The new shader addresses every major pain point associated with legacy BFI systems:
- Dynamic Luminance Preservation: Unlike traditional BFI which blacks out entire frames, the beam simulator introduces a localized, rolling raster simulation. This maintains higher average picture level (APL) brightness while still providing the visual reset necessary to eliminate eye-tracking blur.
- Elimination of Stroboscopic Flicker: By operating at high multiples (120Hz, 240Hz, or higher), the frequency of the simulation moves well above the threshold where human perception registers annoying or harmful flicker.
- Seamless Compositing: The shader is fully modular. It can be prepended to existing CRT simulation chains, allowing users to combine the motion-clarity benefits of beam-racing with beloved aesthetic shaders like
crt-lottesorcrt-royale. - Hardware Agnosticism: While OLED panels benefit immensely from absolute black levels and near-instantaneous pixel response times, the shader includes versatile scaling and timing parameters adaptable to high-refresh IPS and VA LCD panels.
Addressing Panel Limitations and Image Persistence
A crucial consideration in high-frequency raster simulation is the risk of image persistence (burn-in or temporary image retention), which can be exacerbated in certain display types by prolonged voltage accumulation from rapid on/off flickering.
- OLED Vulnerability & Immunity: It is a common misconception that all panels react identically to synthetic strobing. Modern OLED panels are largely immune to the specific voltage accumulation issues that cause permanent burn-in from BFI, making them premier candidates for this shader.
- Odd Integer Multiples and Panel Protection: For monitors running at non-standard refresh rates (such as 180 Hz, which is an odd integer multiple of 60 Hz), standard rolling scanlines can create visual tearing or erratic scrolling behavior. To counter this, Rejhon and Lottes incorporated dedicated runtime parameters. Users can completely disable the cycle timing offset to halt the simulated raster line from rolling up the screen, or adjust the precise vertical position of the raster line to rest in the least obtrusive zone of the display.
Step-by-Step Implementation Guide
For enthusiasts eager to experience the future of motion clarity, configuring the CRT beam simulator within RetroArch requires careful attention to version prerequisites and parameter tuning.
Prerequisites
- Software Version: Ensure your installation is updated to RetroArch 1.20.0 or later (any active nightly build containing the Shader Sub-frames feature will suffice). Older versions lack the core architectural support required to execute subframe logic.
- Hardware Requirements: A high-refresh-rate monitor capable of running stably at 120 Hz, 140 Hz, 240 Hz, or higher is strictly required.
Configuration Steps
- Launch RetroArch and load your preferred retro content (e.g., a classic 16-bit platformer known for fast-moving side-scrolling).
- Navigate to the Quick Menu during gameplay and select Shaders.
- Set Shader Pipeline to active and load a preset from the newly updated repository located under:
shaders_slang/presets/crt-beam-simulator/ - Alternatively, if you wish to layer this technology under your preferred aesthetic filter, use the Shader Parameters or Prepend Preset options to place the beam simulator at the base of your shader chain.
- Access the Shader Parameters menu to calibrate the display-specific variables:
- Gamma Adjustment: Fine-tune the gamma curve to achieve a neutral image balance, eliminating unwanted dark horizontal lines or crushed blacks.
- Brightness vs. Motion Clarity Trade-off:
- For 120 Hz monitors (utilizing 2 subframes), configure the intensity parameter to approximately ~0.5.
- For 240 Hz monitors (utilizing 4 subframes), a value of approximately ~0.7 yields optimal visual results.
- Raster Line Position & Cycle Timing: If utilizing odd refresh rates (e.g., 180 Hz), adjust or disable the cycle timing offset parameter to stabilize the simulated scanline roll.
Troubleshooting and Community Resources
Because display hardware varies wildly across manufacturers, panel types, and operating system VSync implementations, users may occasionally encounter minor artifacts or configuration hurdles.
- Official Documentation: Mark Rejhon maintains an active, dedicated FAQ and troubleshooting repository on GitHub for the project:
https://github.com/blurbusters/crt-beam-simulator/issues/4 - Community Support Channels: For real-time assistance, configuration sharing, and peer-to-peer troubleshooting, users are encouraged to engage with the vibrant Libretro community via the official Discord server, the Reddit community (r/RetroArch), or the traditional Libretro Forums.
- Visual Demonstrations: Display technology expert and content creator Mark Rejhon has published comprehensive video breakdowns demonstrating the visual fidelity of the shader on high-refresh OLED hardware. Enthusiasts can view the official demonstration video below:
<!-- Embedded Video Reference -->
<iframe loading="lazy" title="CRT simulation is ready to be seen on 120Hz+ OLEDs using RetroArch CRT beam simulator slang." width="750" height="422" src="https://www.youtube.com/embed/PmXmr4Yiz_0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
Future Outlook
The introduction of the BlurBusters CRT beam simulator shader marks a watershed moment not only for RetroArch and the emulation scene, but potentially for the broader PC gaming and display manufacturing industries.
As high-refresh-rate monitors—particularly high-refresh OLEDs capable of instantaneous pixel response times—become ubiquitous among consumers, software-level solutions that bridge the gap between analog motion characteristics and digital display architectures will become increasingly vital. By proving that subframe processing can successfully emulate the complex physical properties of electron-beam scanning without the luminance destruction of traditional BFI, Rejhon and Lottes have opened a new frontier in visual fidelity.
In the near future, we can anticipate further refinements to the Libretro subframe pipeline, deeper integration into standalone emulators, and perhaps even hardware-level adoption of these principles by display manufacturers seeking to bake native CRT motion clarity modes directly into gaming monitors. For now, retro gaming enthusiasts possess an unprecedented tool—one that finally allows vintage pixels to move across modern glass with the absolute clarity, fidelity, and soul of the golden age of arcade and console gaming.
