DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
FREEDOM251

Freedom251 › Blog › CRT shaders

How to Set Up RetroArch Shaders for a CRT Look on a Modern TV

By Freedom251 Team · · 13 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To give emulated games a CRT-style image in RetroArch, update the shader pack that matches your active video renderer, load a CRT preset while a game is running, tune it on your actual display, then save it at the scope you want. A practical first preset is crt-geom; crt-pi is a lighter option, while crt-royale offers deeper controls at a higher performance cost.

The exact shader formats and preset files available vary by RetroArch build, operating system, renderer, and device. This guide follows the general workflow in Libretro’s documentation; its introductory shader page is dated January 22, 2021.

As an Amazon Associate I earn from qualifying purchases.

Before you start: match shaders to the renderer

RetroArch supports shader presets in Slang, GLSL, and legacy Cg formats. These formats are not interchangeable in every setup: the suitable format depends on the active video renderer and the platform or build you are using. Libretro recommends Slang where it is available and describes Cg as old and deprecated. That is a general recommendation, not a guarantee that Slang—or a particular preset—will appear on every device.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If a preset you expect is missing, first confirm which video driver or renderer is active in your RetroArch configuration, then update the corresponding shader pack. A shader list built for a different format may not be the right list for your current setup. The file name and extension can also differ between formats; do not assume that a GLSL example path will match a Slang or Cg installation.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

You do not need to buy a physical CRT or install a separate display effect on the television for this general workflow. RetroArch applies the shader to the emulated image. The result is an approximation, and how convincing it looks depends on the selected preset, the game image, scaling, and your display. The setup described here uses RetroArch’s software shader packs; it does not require a specific TV model or a separate hardware purchase.

Set up and load a CRT preset

  1. Identify the active renderer and format. Check RetroArch’s video configuration for the renderer in use, then choose its corresponding Slang, GLSL, or Cg shader pack. Available choices depend on the device and build.
  2. Update the matching shader pack. From Main Menu > Online Updater, select the update entry for the shader format you use: Slang, GLSL, or Cg. Updating a different format’s pack will not necessarily give you the presets your renderer can use.
  3. Start a game or other content. The shader controls are available from the Quick Menu while content is running.
  4. Open the preset browser. Go to Quick Menu > Shaders > Load Shader Preset, then browse the CRT folder for the matching shader format.
  5. Load a preset and inspect the picture. Libretro’s introductory example is shaders_glsl/crt/crt-geom.glslp. Treat it as an example path, not a universal location: the folder and extension depend on the shader format and installation.
  6. Adjust controls while the image is visible. Use Preview Shader Parameters or the parameter controls when the loaded preset offers them. Change a setting, inspect the game image, and continue in small increments so you can tell which change produced the result.
  7. Save at the intended scope. Choose an automatic save scope for the content you want affected, or use Save Shader Preset As to store a reusable preset in the shader directory. The save options and labels can vary by build.

After saving, return to normal gameplay and inspect several parts of the image, not just a pause screen or menu. Bright areas, dark scenes, fine horizontal details, and different colors can expose effects that are easy to miss in one frame. The aim is a picture you like at your actual viewing distance and display resolution—not a universally correct set of values.

If the Quick Menu does not show shader controls, confirm that content is running; the documented workflow opens the shader menu from the in-game Quick Menu. If the menu is present but the expected preset is not, distinguish a missing preset from a preset that is listed but incompatible: check the active renderer, update its matching format pack, and browse that format’s CRT folder before trying a different format.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Which CRT preset should you try first?

These presets make different trade-offs in GPU demand, available controls, and the character of their effects. The descriptions below reflect Libretro’s shader catalog; they are starting points rather than objective rankings for authenticity.

Preset Performance and scaling notes Why to choose it
crt-geom Described as running well on modest GPUs and handling non-integer scaling well. A flexible first try, with many customization options.
crt-pi Intended to run well on Raspberry Pi hardware; also described as suitable for weak or mobile GPUs. Choose it when performance is a priority or a heavier preset runs poorly.
crt-guest Intended for more capable GPUs; the catalog also lists a -Fast variant with lower requirements. Try it if you want a wide range of options and have performance headroom.
crt-hyllian The catalog describes its Multipass option as suitable for modest GPUs. A family with fewer options for people who prefer less extensive tweaking.
crt-royale Substantial GPU demands. Libretro says it looks good at 1080p and benefits more from 1440p and higher resolutions. Use it for a highly adjustable look when your device can handle the cost.

Start with crt-geom if you want a flexible baseline without beginning with the most demanding option. If it slows down your system, try crt-pi or another lighter preset before considering hardware changes. If you want many controls and have a capable GPU, test crt-royale or crt-guest. Your preference may differ: people disagree about curvature, scanline strength, phosphor masks, sharpness, softness, and glow.

Think of the presets as options along several axes rather than a simple quality ladder. A lighter preset is useful when keeping performance smooth matters most; a preset with more controls can take longer to tune and may demand more GPU work. Scaling behavior is another difference: crt-geom is specifically noted for non-integer scaling, while scanline patterns in general tend to look best with integer scaling. The mask pattern and scanline visibility also depend on the resolution of the display where you play. Try candidates on the same game and screen so you can compare like with like.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

For a first pass, load one preset and look for the overall balance of sharpness and softness, the visibility of scanlines, and whether any curvature feels distracting. Only move to a more elaborate preset if you want additional controls or a different image character. No one option is documented as the most authentic for every player, TV, and game.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Tune the image for your screen

CRT-style presets can simulate several characteristics of a CRT display. Depending on the preset, those may include scanlines, phosphor masks, blur or blending, curvature, interlacing, glow, and halation. Not every preset exposes every effect or uses the same names for its controls. Adjust only the parameters available in the preset you loaded.

Scanlines and scaling

Scanlines are repeated horizontal patterns, so their appearance changes with scaling. Libretro’s shader catalog notes that they generally work best with integer scaling, while also pointing out that some shaders handle non-integer scales better than others. If scanlines look uneven, too prominent, or hard to distinguish, compare the image at another scaling setting if your setup allows it, or try a preset known to handle non-integer scaling such as crt-geom.

Do not make scanlines so dark that important parts of the game become difficult to see. A setting that looks subtle in one scene may overwhelm a darker game or a different palette. Judge the effect in motion and across more than one scene.

Phosphor masks and display resolution

A mask pattern can look fine at one resolution and conspicuously coarse at another. The visible result depends on the display resolution and how the preset samples or resizes that pattern. Compare it from your normal seating distance. If the pattern distracts from the game, try another mask option where available, adjust its controls if the preset exposes them, or choose a different preset. There is no single mask value established as best for every TV or monitor.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

In practice, a pattern that seems delicate close to the screen may merge into the image at your normal viewing distance—or it may remain too obvious. Check it in both bright and dark areas and with several colors. Do not assume that a mask which looks good in a screenshot will look the same on a TV at a different resolution.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

Curvature, blur, glow, and sharpness

Curvature can suggest a rounded screen, but it can also bend the image in ways you find distracting. Blur or blending may soften hard pixels; glow and halation can add brightness around image features; sharpness controls can shift the balance back toward crisp detail. These are aesthetic choices, not a checklist every CRT preset must satisfy. Make one adjustment at a time and use the actual game image to decide whether it improves the picture for you.

Geometry and curvature are not guaranteed to be adjustable in every preset. If you cannot find a control, the preset may not expose that parameter; changing to another preset with the control you want is more useful than looking for a universal RetroArch setting. CRT-Royale documents geometry and curvature choices, but its broad control set also brings greater complexity and performance cost.

More controls in CRT-Royale

crt-royale exposes an unusually broad set of choices, including aperture-grille, slot, and shadow masks; mask pitch and resampling; bloom; scanline beam shape; geometry and curvature; sharpness; halation; diffusion; and interlacing. That range can help you tailor the look, but it also means there are more settings to understand. Change only a few at a time, and save a useful result before experimenting further.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Libretro’s CRT-Royale documentation also warns that runtime parameters can reduce speed. They make live experimentation convenient, but prevent static evaluation of some calculations. If the image becomes slow while adjusting or using the preset, performance may improve by choosing a faster preset, or by trying CRT-Royale’s Fake-Bloom or Intel variant when appropriate for your setup.

The official CRT-Royale page also notes sRGB framebuffer and mipmapping limitations that can result in banding or a poor-looking mask on some combinations. Those notes include historical version context; they should not be read as a claim that every current system has the same limitation. If you see banding or a mask that looks wrong, check whether the behavior changes with another preset or configuration before assuming it is an unavoidable property of your TV.

Save the preset at the right scope

RetroArch can save shader settings automatically at different scopes. A shader preset may contain one or more shader passes. The scope determines which content receives the saved configuration; it does not change the underlying CRT effect.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
Save scope What it applies to
Global All content and cores.
Core Content using one core.
Content Directory Items in a directory; this preset is also core-specific.
Game One game; this preset is also core-specific.

Choose the broadest scope that matches your intention. Use Global if you want the effect everywhere; choose Core when you want it for games using one core; and choose Content Directory or Game for a narrower application. When more than one automatic preset could apply, the most specific one takes precedence. For example, a game-level preset takes precedence over a broader setting that would otherwise apply to that game.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Content Directory and Game saves are core-specific, so they are narrower than simply “this folder” or “this title” in the abstract. If you run the same game or directory through another core, do not expect those saves to apply there. That distinction is useful when choosing a scope: a global preset is broad across cores and content, a core preset follows one core, and the two narrowest choices apply within that core’s context.

Use Save Shader Preset As when you want to store a reusable preset in the shader directory rather than rely only on automatic scope saves. A simple preset stores parameter or texture-path changes over a referenced preset; a full preset stores the full shader chain. The simple form is useful when you want to retain adjustments while referring to another preset. A full preset carries the complete chain, which can be useful when you want that chain stored as part of the preset itself.

Automatic saves and “Save Shader Preset As” answer different needs. Use an automatic save when you want RetroArch to apply your settings in a particular content context. Use the separate save-as option when you want a named reusable file in the shader directory. If a change appears to vanish after restarting, first check that you actually saved it, then check which automatic scope applies to the content you reopened. A more specific saved preset can override a broader one.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What to expect from the TV

Libretro’s TV guidance recommends applying retro display effects through RetroArch shaders and overlays rather than relying on a television’s picture-mode post-processing. Its explanation is scoped to hardware-dependent processing in non-Game picture modes, which can introduce input lag. Using a shader does not guarantee zero input lag: RetroArch, the device, the display, and other parts of the setup can all matter, and TVs do not behave identically.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If your goal is a CRT-like image without adding TV picture processing, keep the effect in RetroArch and use the TV mode that suits your setup. Evaluate the image and responsiveness on the actual system you play on. A shader changes the emulated picture; it is not a promise that every source of display or input delay has been removed.

Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Common problems and practical fixes

  • The shader menu is not available. Start a game or other content, then open its Quick Menu. The documented loading path is available while content is running.
  • The preset does not appear in the browser. Confirm that you updated the shader pack matching the active renderer, then check the corresponding format’s CRT folder. Preset availability varies by build and device.
  • The preset is listed but will not load. Recheck that the preset is for the shader format your renderer uses. Do not substitute a path or extension from a different format and assume it is equivalent.
  • The game slows down after loading a shader. Try a lighter preset such as crt-pi or a faster variant offered by the catalog. CRT-Royale has higher GPU demands, and its live runtime parameters can reduce speed.
  • The scanlines or mask look too strong. Judge them at the TV’s actual resolution and your usual viewing distance. Adjust available controls, try a different mask or scaling behavior, or switch to a preset whose effect is more comfortable.
  • The picture has banding or the mask looks poor. CRT-Royale documentation identifies framebuffer and mipmapping limitations on some combinations, with historical version context. Compare another preset or configuration rather than assuming the issue is universal.
  • The image is not shaped as expected. Check whether the loaded preset exposes geometry or curvature controls. If it does not, try a preset that offers the adjustments you want; parameter availability is preset-specific.

Sources and date

This walkthrough follows Libretro’s shader and TV documentation. The introductory shader page is dated January 22, 2021. Exact menu labels, formats, and available preset files can vary with RetroArch build, operating system, renderer, and device, so treat the paths and preset names above as examples to verify in your installation.

Frequently Asked Questions

Why don’t my shader parameters stick after I restart RetroArch?

Changing parameters for a live preview is separate from retaining the result. After tuning, use the shader save controls to save automatically at the intended scope, or choose Save Shader Preset As for a reusable preset. If a broader and narrower automatic preset both apply, the more specific one takes precedence.

How do I change the geometry or curvature?

Use the parameter controls for the loaded preset, if it exposes geometry or curvature settings. CRT-Royale documents geometry and curvature controls; other presets may offer fewer choices or different controls. Adjust the image while it is visible and save the result if you want to keep it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Can I use the same preset on every device?

Do not assume so. Shader format support and available preset files depend on the RetroArch build, platform, and active renderer. Update and load the shader pack that matches the renderer on each device.

Why is my CRT shader slow?

Preset demands differ. Switch to a lighter option such as crt-pi, or try an available faster variant. CRT-Royale is demanding, and its runtime parameters can reduce speed because they prevent static evaluation of some calculations. A smoother result may come from changing presets rather than upgrading hardware.

Do I need a special TV or physical CRT to use RetroArch CRT shaders?

No physical CRT or specific TV purchase is required for this general workflow. RetroArch applies the effect to the emulated image. The look varies with the preset, scaling, display resolution, and viewing distance.

Should I save globally or for one game?

Use Global if you want the shader across content and cores; Core for content on one core; Content Directory for a folder within a core; or Game for one title within a core. When automatic presets overlap, the most specific one takes precedence.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The Bottom Line

Update the shader pack that matches your renderer, load a CRT preset from the Quick Menu while content is running, and tune it on the display you actually use. crt-geom is a flexible starting point, crt-pi favors lighter hardware, and crt-royale offers extensive controls at a greater performance cost. Save at the scope that matches your intent, and judge scanlines, masks, and curvature by the image you see—not by a universal preset recipe.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

CRT shadersemulationGaming DisplaysLibretroRetroArch

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.