Skip to main content
Ex-Sega Engineer Builds a 'Super-Realistic' CRT Emulator

Ex-Sega Engineer Builds a 'Super-Realistic' CRT Emulator

A former Sega engineer's mid-2026 CRT-emulation project chases the phosphor look everyone else has been faking for two decades.

A former Sega engineer just published a CRT emulator that models phosphor decay and scanline geometry more faithfully than any prior open project.

A former Sega engineer's mid-2026 CRT-emulation project has cleared what retro-gaming purists have been chasing for two decades: a shader that models phosphor decay and inter-frame ghosting instead of faking them with post-processing overlays. The result, in motion, looks noticeably closer to a real Trinitron than the well-loved crt-royale and crt-guest-advanced shaders that have dominated RetroArch for years — and the community's early reception has been unusually positive.

This is a news beat with a long tail. CRT emulation is one of the great open problems of retro preservation: the games were authored for phosphor displays with specific decay characteristics, and every LCD or OLED display since has been chasing that look with progressively better approximations. If the new project holds up under scrutiny, it changes the reference standard for anyone running Nintendo, Sega, or arcade content on modern hardware.

Key takeaways

  • The new emulator models phosphor decay and per-pixel ghosting instead of applying post-process overlays.
  • Early motion comparisons show it noticeably closer to real Trinitron and PVM output than crt-royale or crt-guest.
  • Compute cost is roughly 3-4x that of existing shaders — desktop-GPU territory.
  • Code is open source and community integration into RetroArch is likely within a few months.
  • The Sega Genesis Mini, Super NES Classic, and PlayStation 4 Pro do not benefit directly — HDMI output already bakes past the shader.

Why phosphor decay is the hard part

Most CRT shaders in RetroArch's libretro shader collection approach the problem geometrically. They overlay scanlines, apply RGB masks corresponding to shadow-mask or aperture-grille geometries, add screen curvature, and dim the outer frame edges. The shader takes one frame of pixel data, produces one frame of screen data, and never looks backwards.

Real CRTs do not work that way. A phosphor pixel excited by an electron beam does not go dark the instant the beam moves on. It decays over time, on the order of 1-5 milliseconds for common consumer phosphors, and that decay is what makes 60Hz-flickered content look smoother on a CRT than on an equally-refreshed LCD. The interframe ghosting — the reason old scrolling backgrounds look "buttery" on a Trinitron and "steppy" on a modern OLED — is a temporal phenomenon that a per-frame shader physically cannot reproduce.

The new project's contribution, per the developer's public design notes, is a shader that carries a small amount of state across frames. Each pixel's brightness on frame N depends not only on the game's frame-N output but on frames N-1 and N-2, weighted by the phosphor decay curve. That is closer to what a real phosphor screen does than any prior open-source approach, and it explains the "3-4x more expensive" compute cost — the shader has to sample previous frame buffers and integrate them.

What the comparison actually looks like

Screenshots do not do this project justice. The visible delta on a still frame is subtle. In motion — Sonic scrolling, Mario's clouds crossing the screen, a Street Fighter II jump-back — the difference is noticeable enough that early testers on r/retrogaming and r/emulation have called it "the first time I have believed it."

Two specific behaviors that improve:

  1. Chunky-pixel blending: Genesis and SNES art often uses 16-color palettes with intentional dither patterns designed to blend on phosphor displays. On modern LCDs these dither patterns look like grids. The new shader recovers the blend.
  2. Scrolling smoothness: 60Hz scrolling on a CRT has a soft trailing edge; on an LCD it has hard vertical bands. The shader's interframe integration approximates the trailing edge.

Neither behavior was accessible with pure geometric shaders. Some prior projects (BFI and reverse-BFI, motion-adaptive interpolation) touched adjacent problems, but none combined them with an explicit phosphor model.

Can it run on a Raspberry Pi?

Not comfortably at desktop resolutions. Early benchmarks from the developer's own materials, corroborated by community RetroArch users on Reddit, show the new shader takes roughly 3-4x the GPU compute of the current crt-royale reference. On a Raspberry Pi 5, that translates to workable 480p output but nothing higher without frame drops.

If you already run RetroArch on a modern gaming PC — anything with an RTX 3060-class or better GPU — the shader is comfortable at 1440p and workable at 4K. On integrated laptop GPUs and older desktop cards, plan to run at 720p or 1080p and enjoy the quality boost at moderate resolution.

Does this help real hardware?

Sort of. The Sega Genesis Mini and Super NES Classic output HDMI directly from an internal software emulator; the shader would have to run on the console's own SoC, which does not have the horsepower. If you use a Retrotink 5X or OSSC to upscale real hardware, you could theoretically insert the shader into your capture chain — but you would need a PC in the middle of the video path, which adds latency and complexity most retro players will not tolerate.

The clean case is: emulator on modern PC, use the new shader, get the closest-yet phosphor look. The messy case is real hardware plus PC-based upscaling, which is possible but a lot of work for a small quality gain over a well-tuned Retrotink profile alone.

What the developer's Sega background actually contributed

The public materials the developer has shared frame this as a personal side project rather than a Sega initiative, and the connection is engineering culture rather than proprietary tooling. Sega's arcade and console engineers spent decades tuning games against specific display hardware — the Model 2 boards were mastered against specific arcade CRT setups, the Saturn was tuned against Trinitron consumer sets, and the Dreamcast VMU had its own weird DSTN behavior. That institutional memory of "how the game was meant to look" is exactly the design intuition that lets someone build a phosphor model that captures the parts that matter.

You could imagine other former console engineers doing the same thing for Nintendo, Atari, or NEC hardware. The barrier is not the code — CRT physics have been well-documented for decades on sites like RetroRGB and general references like the Wikipedia CRT article. The barrier is the taste for what constitutes "close enough," and that comes from having actually shipped games against specific displays.

When and where to try it

  • Now, if you have a modern PC and RetroArch: build from source or wait for the developer's binary release. Expected within the next few weeks per the project timeline.
  • Soon, when RetroArch integration lands: the community RetroArch build is the low-effort path for most users. Expected within 2-4 months.
  • Later, if you use real hardware: wait for someone to build a chain that inserts the shader into a Retrotink workflow.

The shader landscape before this project

Understanding what changed matters requires the current state of the art. The dominant CRT shaders in RetroArch as of mid-2026:

  • crt-royale: geometric mask + scanline + curvature. The community reference for years. Excellent stills, less magical in motion.
  • crt-guest-advanced: crt-royale's more configurable cousin. Lets you dial in specific CRT models. Same fundamental limitation of frame-independent processing.
  • crt-lottes: Timothy Lottes's phosphor-inspired shader, closer to the new project in spirit but simpler. Reasonable middle ground.
  • crt-hyllian: emphasizes accurate scanline geometry over mask emulation.
  • crt-easymode: minimal-cost shader for weak hardware.

None of these carry cross-frame state. Each processes the current game frame in isolation and produces the current screen frame. The physics that makes real CRTs feel "smooth" instead of "grid-like" is fundamentally a multi-frame phenomenon that geometric-only shaders cannot access.

What "phosphor decay" actually looks like

A real Trinitron phosphor pixel excited by an electron beam reaches peak brightness within microseconds and then decays over 1-5 milliseconds depending on the specific phosphor formulation. Consumer television phosphors were tuned for a balance between brightness (short decay, more brightness) and motion smoothness (longer decay, less flicker but more blur).

At 60 Hz refresh, adjacent frames are 16.7 ms apart. Phosphors with 1-2 ms decay are effectively dark by the time the next frame paints, and the display feels crisp with visible scanlines. Phosphors with 4-5 ms decay overlap with the incoming frame, and the display feels smoother but slightly blurrier.

The new emulator's contribution is a shader parameter that models this decay curve and integrates it across recent frames. Users can dial in "Trinitron short-decay" or "consumer PVM long-decay" and get materially different visual behavior — matching the specific display the game was mastered against.

Why this matters for game preservation

Game preservation is not just about running the code — it's about running the code the way the players saw it. Sonic 2's blue-and-yellow palette was chosen with phosphor blending in mind; on an LCD without a phosphor shader, some of that color-mixing is lost. Chrono Trigger's shadow effects rely on scanline persistence to feel three-dimensional; without shading, they feel dithered.

A shader that models the actual physics of the intended display, rather than approximating it geometrically, moves game preservation closer to the historical experience. That is the argument this project makes without stating it explicitly, and it is why the retro-emulation community's reception has been unusually warm.

Common pitfalls

  • Expecting screenshot magic: still frames do not sell this shader. Compare in motion.
  • Running at native 4K on a mid GPU: drop resolution and enjoy the quality; do not force high res.
  • Assuming compatibility with all CRT profiles: the shader assumes a consumer CRT (Trinitron, PVM). Arcade CRTs and monochrome vector displays are different beasts.
  • Confusing this with BFI: black-frame insertion is a separate technique. This shader can work with or without BFI.
  • Ignoring temporal latency: any multi-frame shader adds at least one frame of processing delay. Retro action games notice.

What this changes for streamers and content creators

Retro gaming YouTubers and streamers have long fought the "these captures look wrong" problem. Capture equipment produces mathematically correct output that visually looks nothing like the original CRT experience their audience remembers. Every serious retro creator has a mix of shader profiles they cycle through based on the game and their audience preferences.

If the new phosphor-decay shader delivers on its promise, it becomes a default choice for retro content. Motion becomes readable and pleasant on capture; scrolling shooters and platformers stop looking like flipbook frames. The compute cost is significant but manageable for streamers already running gaming rigs.

Expect adoption to move fastest in the arcade preservation, SHMUP, and platformer communities where motion fidelity matters most.

The IP question

Emulator shader projects sometimes tangle with the IP rights of the display manufacturers whose behavior they model. Trinitron, PVM, and similar names are Sony trademarks; specific model behaviors are documented but not standardized. In practice, no shader has been challenged legally because the models describe physical phosphor behavior rather than proprietary electronics, but the naming can attract polite legal letters.

The new project's public materials call the shaders by generic names ("consumer-CRT-short-decay") rather than manufacturer model names, which sidesteps this issue cleanly.

Bottom line

A former Sega engineer just moved the CRT-emulation state of the art forward for the first time in years. The new project models phosphor decay and interframe ghosting rather than faking them, the compute cost is real but tractable on modern GPUs, and the code is open. If you have spent time chasing the "looks like my childhood TV" feeling on emulation, this is worth watching over the next few months as RetroArch integration solidifies.

Meanwhile, if you want to play the actual games this is meant to serve, plug-and-play options remain excellent. The Sega Genesis Mini, the Super NES Classic Edition, and even a well-configured PlayStation 4 Pro running PS1 Classics deliver the games without the shader debate. The shader is for the buyer who has already checked those boxes and wants the phosphor look on top.

Citations and sources

This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.

Products mentioned in this article

Tap any product for full specs, live Amazon & eBay pricing, and alternatives.

SpecPicks earns a commission on qualifying purchases through both Amazon and eBay affiliate links. Prices and stock update independently.

Find this retro hardware on eBay

Pre-2012 hardware isn't sold new on Amazon. eBay is the primary marketplace for the SKUs discussed in this article — auctions and Buy-It-Now listings update continuously.

Search eBay for "CRT" Live listings →

SpecPicks earns a commission on qualifying eBay purchases via the eBay Partner Network. Prices and availability change frequently.

Frequently asked questions

What's different about this CRT emulator versus existing shaders?
Most existing CRT shaders in RetroArch emulate the visible artifacts — scanlines, mask patterns, curvature — as post-processing overlays. This new project, per the developer's public materials, models phosphor decay time and inter-frame ghosting on a per-pixel basis, which is what makes chunky-pixel Genesis and SNES art actually blend the way it did on a Trinitron or PVM. The difference is subtle in screenshots and obvious in motion.
Can I run it on a Raspberry Pi?
Not comfortably. The developer's early benchmarks show the new shader model requires roughly 3-4x the GPU shader work of the existing crt-royale shader at the same resolution. A Pi 5 can manage 480p output; anything higher pushes into desktop-GPU territory. If you already run RetroArch on a modern gaming PC, it works well.
Does it work with real Genesis or SNES hardware output?
It's a software emulator running on software-emulated consoles — Nintendo Super NES Classic and Sega Genesis Mini output HDMI directly and do not benefit. If you use a Retrotink or OSSC to upscale real hardware, you would apply the shader downstream in your capture chain, which is possible but adds latency.
Is the code open source?
The developer has published the reference implementation as open source and is soliciting community feedback for the RetroArch integration. Expect PRs to land in the RetroArch shader collection within a few months if the community reception matches the early enthusiasm on r/retrogaming and r/emulation.
Does this matter if I just want to play games?
If you have never cared about the CRT look, no — a good LCD with a decent scanline shader is fine. If you have spent a decade trying and failing to match your childhood memory of a Trinitron, this project is worth watching. Retro gaming emulation has been chasing the phosphor look for two decades and this is one of the first serious attempts to model the physics rather than fake it.

Sources

— SpecPicks Editorial · Last verified 2026-07-22

More guides & deep dives from the SpecPicks archive

Browse all articles & guides →

More reviews from the SpecPicks archive

Browse all reviews →

More buying guides from SpecPicks

Browse all buying guides →