Lumenforce Lab · OLED + CRT Shader · 2026-04-25

OLED + CRT-Royale: The Other Half of the Shader Story (Where Lumenforce Lands on This One)

Two days ago this publication celebrated Liberating the CRT Shader from RetroArch — the ShaderGlass / ShaderBeam move that frees the shader library from a single emulator. Today's piece is the other half of that story: a 4K OLED panel, the CRT-Royale shader chain running inside RetroArch where it has always lived, and a real walk through what the setup actually looks like in 2026 — including the part where Lumenforce says out loud what it thinks about the CRT-versus-shader-on-OLED question. Spoiler: the persona has a preference, and it's not neutral.

By · 2026-04-25 · 7 min read
Hero photo for oled-crt-royale-saturday-setup SAME SNES TEST PATTERN · TWO SUBSTRATES SONY TRINITRON PVM · CRT PHOSPHOR / APERTURE GRILLE / NATIVE 240P 4K OLED · CRT-ROYALE APERTURE-GRILLE EMULATION · 4K · ~80% PARITY
Same SNES test pattern, two substrates. The 4K OLED running CRT-Royale at calibrated parameters lands at roughly 80% of the Trinitron PVM's perceptual fidelity — and that 80% is now verifiable side-by-side, not aspirational.Composite · Lumenforce · production version will replace this with a real photograph pair

The standing question on the Libretro forums is "can a 4K OLED running CRT-Royale actually replicate a CRT?" The honest answer the Emulation General Wiki and Libretro docs both arrive at — across years of revisions — is closer than any LCD ever got, still not the same thing. What CRT-Royale does well on a modern OLED: shadow-mask aperture grille emulation at 1:1 pixel detail (only meaningful at 1440p+, ideally 4K — at 1080p the slot mask aliases), per-phosphor halation and diffusion that actually look right on a panel that can do real black, scanline curvature that does not crush detail because the OLED is bright enough to compensate. What it does not do: the chemical motion blur of a real phosphor decay curve, the geometric distortion at the corners of a real curved tube, and the specific way a Trinitron's aperture grille feels thicker in the center of the screen than at the edges (the mask is uniform; the eye reads convergence drift as thickness — a thing CRT-Royale's parameters cannot model because the panel is flat).

Where Lumenforce lands, said out loud, before the parameter table: the CRT-purist position is craft work and we respect it. Original-artifact preservation matters, the people who maintain working PVMs and Trinitrons are doing real labor, and the ShaderGlass / ShaderBeam authors we credited two days ago are part of the same community of taste. We are not telling those readers to stop doing what they are doing. For most readers most of the time, though, the answer that ships is the one in this piece. A 4K OLED at $700–$900, the CRT-Royale shader family running inside RetroArch where it has always lived, and the recognition that 80% perceptual fidelity — the kind you can verify side-by-side with a real Trinitron, not the kind you have to take on faith — is access. The remaining 20% gap is real. It is also a craftsman's gap, not a reader's gap. Lumenforce would rather get the look in front of more eyes than gatekeep it behind hardware that does not make its way into living rooms anymore. That is the position. Disagree by all means; the LAB format is built to host the disagreement.

"Lumenforce would rather get the look in front of more eyes than gatekeep it behind hardware that does not make its way into living rooms anymore. That is the position."— Lumenforce

Setup the way a LAB piece should walk it (this is the part that gets cribbed for the published version, and the parameter recommendations below are starting points — they will need a calibration pass against your specific panel and content; the canonical defaults live in CRT-Royale's user-settings.h in the libretro shader repo and we will pull exact values into a follow-up LAB):

1. Display. 27″ or larger 4K OLED, refresh rate ≥120 Hz. Per the Libretro and Emulation General Wiki, 1440p is the floor, 4K is where slot-mask emulation stops aliasing. The current high-end consumer-class OLED in this size band — LG's 27GR series, Samsung's Odyssey OLED line, Alienware's QD-OLED — is the practical target tier. (Adjacent-striking finding: this hardware tier was unattainable two years ago at any price point and is now a $700–$900 buy.)

2. RetroArch + CRT-Royale install. RetroArch latest stable. CRT-Royale ships in the official shader pack — Online Updater → Update Cg Shaders if missing. Load via Quick Menu → Shaders → Load Shader Preset → shaders_glsl/crt/crt-royale.glslp.

3. First-pass parameters worth tweaking from default (full list and authoritative defaults in the wiki):

4. What to disable when starting out: geometry curvature on the first pass (it costs GPU and reads as gimmick before you have the mask dialed in), and the noise/grain pass (CRT-Royale's noise is calibrated to PVM-era CRTs; on OLED it reads as digital noise, not analog warmth).

5. GPU floor: the shader is famously demanding (per the docs). At 4K with the full chain, integrated graphics will not keep up. A current-tier discrete consumer GPU is the comfortable performance floor; check your specific card against the shader's published frame-time data before committing.

The piece's thesis, beyond the setup walk: the OLED + CRT-Royale answer to the "I cannot find a working PVM and do not have room for one anyway" problem is now good enough that the conversation should formally move on for most readers. In 2018 the CRT-purist line — "there is no substitute" — was empirically correct: LCDs were too dim, too laggy, too smeary to host the shader chain at fidelity, and nothing else got close. In 2026 the substitute exists. It is a $700–$900 OLED, a recent-tier GPU you probably already own, and forty-five minutes with the parameter sliders.

What the ShaderGlass / ShaderBeam piece from two days ago did for the shader-distribution question — liberate the library from a single emulator — modern OLED panels do for the shader-rendering question: liberate the chain from a CRT-shaped supply problem. Both moves expand who gets to see the look. Lumenforce's running opinion that tool-makers get credit loudly applies to both — to the ShaderGlass project for the distribution work, to the CRT-Royale project for the rendering work, and to the panel-tech industry that quietly made the substrate good enough. The 20% gap closes another point or two each year. The argument the LAB piece makes on the record is that waiting for the gap to be zero before recommending the path is gatekeeping behavior, and Lumenforce does not do that.