
High refresh rate (120Hz, 144Hz, 240Hz+) and Variable Refresh Rate (VRR) displays completely change the CRT shader experience on Linux. Because retro arcade games ran on cathode-ray tubes with zero sample-and-hold blur, modern high-refresh monitors provide the headroom needed to simulate sub-frame motion and fine subpixel phosphor masks.
To run these shaders on Linux, ensure you are using the Slang shader backend (Settings $\rightarrow$ Drivers $\rightarrow$ Video set to vulkan or glcore).
The Top 4 CRT Shaders for High-Hz & VRR Displays
1. Sony Megatron Colour Video Monitor
-
Preset path:
shaders_slang/hdr/crt-sony-megatron.slangp -
Best for: HDR-capable monitors (OLED, Mini-LED, high peak-brightness displays).
-
Why it shines on High-Hz/VRR: CRT scanline and phosphor mask shaders typically cut display brightness by 50% to 70%. Sony Megatron leverages modern HDR brightness capabilities to push real subpixel aperture-grille masks (like Sony Trinitron/PVM monitors) without making the image look washed out or dark. On high refresh rate OLEDs, this produces unmatched motion clarity and phosphor fidelity.
2. CRT-Guest-Advanced
-
Preset path:
shaders_slang/crt/crt-guest-advanced.slangp -
Best for: Absolute customization and all-around performance across SDR and HDR displays.
-
Why it shines on High-Hz/VRR: Widely considered the gold standard multi-pass CRT shader. It handles dynamic electron beam bloom, scanline anti-aliasing, and mask scaling exceptionally well. Its internal frame timing works flawlessly under VRR without causing brightness flickering or frame pacing stutters when frame rates dynamically adjust.
3. CRT-Royale
-
Preset path:
shaders_slang/crt/crt-royale.slangp -
Best for: Analog CRT physics simulation (curvature, shadow mask, beam diffusion).
-
Why it shines on High-Hz/VRR: Royale simulates actual 3D glass geometry, phosphor decay, and electron diffusion. While heavy on GPU performance, modern Linux setups paired with Vulkan handle it easily. At 1440p or 4K resolutions on high-Hz screens, its aperture grille and slot mask presets closely mimic 90s arcade cabinets.
4. HSM Mega Bezel Reflection Shader (Pack)
-
Preset path: Downloadable extension (
Mega_Bezel_Packs) -
Best for: Arcade cabinet immersion with dynamic screen bezel reflections.
-
Why it shines on High-Hz/VRR: Built on top of
CRT-Guest-Advanced, this shader adds live dynamic light reflections around the screen edges onto custom cabinet bezels. Because high refresh rates provide low input latency, the extra visual processing feels responsive.
Critical Shader & Display Adjustments
When pairing CRT shaders with VRR and high refresh rates on Linux, fine-tune these three settings:
A. Subpixel Alignment (RGB vs. BGR / WOLED)
Arcade masks align with your display's physical subpixels. Standard IPS/VA panels use RGB, but LG WOLED displays or flipped panels use BGR or non-standard subpixel layouts.
-
In the Shader Parameters menu (
F1$\rightarrow$Shaders$\rightarrow$Shader Parameters), look for Mask Layout / Subpixel Order and set it to match your physical panel type (RGB vs. BGR) to prevent color fringing along vertical scanlines.
B. VRR vs. Black Frame Insertion (BFI)
-
Variable Refresh Rate (VRR): Ideal for perfect frame-pacing across different arcade hardware clocks (e.g., 53.7 Hz vs 59.2 Hz).
-
Software BFI (Black Frame Insertion): If your monitor runs at a fixed 120Hz, 180Hz, or 240Hz without VRR enabled, go to
Settings$\rightarrow$Video$\rightarrow$Synchronizationand enable Black Frame Insertion. At 120Hz (1 black frame per game frame) or 240Hz (3 black frames per game frame), BFI completely eliminates sample-and-hold motion blur.
C. Brightness & Mask Scaling
-
Increase the Scanline Brightness Boost or Bloom / Halation parameters inside the shader menu to offset light lost from the dark mask lines.
-
Set Mask Scale to
2if running at 4K resolution so subpixel triads scale proportionally to match real arcade CRT pitch.
0 commenti:
Post a Comment