You’re sitting in front of a restored arcade cabinet or a vintage computer monitor, and the image looks crisp—almost too crisp. The pixels are sharp and clean, but something feels wrong. There’s no scanline structure, no sense of depth or authenticity that you remember from playing these games decades ago. Or the opposite problem: you’ve added scanlines through a filter or generator, and they look overdone—banding artifacts, uneven brightness, or an odd flutter that wasn’t there on original hardware.
This is the core tension that every retro gaming and vintage computing enthusiast eventually confronts. CRT scanlines aren’t purely aesthetic nostalgia. They’re a direct product of how cathode-ray tube displays work. But the methods we use to recreate scanlines on modern displays—whether through FPGA-based scanline generators, software filters, or upscaling hardware—vary dramatically in quality, authenticity, and technical implementation.
Understanding the differences between these approaches requires diving into the actual physics of CRT displays, the engineering trade-offs in modern recreation hardware, and honest assessment of what each method actually delivers.
What are scanlines, and why do they exist?
Scanlines are horizontal lines visible on a CRT display. They’re not a design choice—they’re an unavoidable artifact of how CRT technology works.
A CRT display draws an image line by line, from top to bottom. An electron beam sweeps across the screen horizontally, strikes phosphors, and those phosphors emit light. Then the beam returns to the left side of the screen and moves down slightly. It repeats this process 15,750 times per second on a standard 60 Hz NTSC display (50 Hz on PAL). This is the horizontal scan rate.
Between each horizontal line, there’s a gap—the space where the electron beam is returning to the left side of the screen and repositioning vertically. During this interval, no light is being emitted from that particular line. This creates the scanline: a dark band between rows of pixels.
The visibility of scanlines depends on three factors: the brightness of the display, the pixel pitch (how far apart the dots are), the quality of the electron beam focus, and how close you sit to the screen. A bright, sharp CRT viewed from normal distances shows scanlines clearly. A dim display, or one with poor focus, shows them much less obviously.
On arcade cabinets, scanlines are typically quite visible because the displays are intentionally bright to cut through ambient light in noisy arcades. On home computer monitors and TV sets connected to gaming consoles, scanlines are present but often less pronounced because displays are generally dimmer.
When you play a retro game on a modern LCD or LED display without any scanline recreation, two things happen. First, the image is pixel-perfect and clean—no missing rows of brightness. Second, it looks fundamentally different from what the original hardware intended, because the original design accounted for the presence of scanlines. Sprites were often drawn with their colors and brightness calibrated with the assumption that scanlines would reduce overall brightness and create a visual “weight” to the image.
Scanline recreation methods: the engineering landscape
There are three primary approaches to adding scanlines to modern displays when playing retro content: FPGA-based scanline generators, software filters in emulators, and dedicated upscaling hardware. Each has different technical foundations and trade-offs.
FPGA-based scanline generators
FPGA stands for Field-Programmable Gate Array. In simple terms, it’s a chip that can be programmed to perform specific electronic functions in real time, without the delays inherent in software processing.
Devices like the Framemeister, OSSC (Open Source Scan Converter), and newer systems like the Marqs HDMI scalers work by intercepting the analog (or digital) video signal from a retro gaming console or computer. The FPGA receives this signal and performs several operations simultaneously: it captures the incoming video data, analyzes the resolution and refresh rate, and then generates a new digital output that’s suitable for modern displays.
The FPGA can add scanlines by manipulating the output pixel data. Here’s how it typically works: if the original signal is 256×224 pixels (a standard Sega Genesis or NES resolution), the FPGA can scale this to, say, 1920×1080. But rather than simply stretching each original pixel into a 7.5×4.8 block, it can insert dark rows between each original line. This creates the visual impression of scanlines without distorting the original image content.
The advantage of FPGA-based scanline generation is latency and precision. Because the FPGA is dedicated hardware performing a fixed task, it can operate with microsecond-level timing. There’s virtually no input lag introduced by the scaling and scanline process. Additionally, FPGA scanline generators can apply scanlines uniformly and consistently, with precise control over their width, darkness, and behavior across different resolutions.
The disadvantage is cost and complexity. Quality FPGA scalers range from $150 to $500+, and they require knowledge of which devices work with your specific setup. Some FPGA scalers also have limited programmability—if you want different scanline behavior than what’s built in, you may be stuck.
In terms of aesthetic authenticity, FPGA scanlines are generally quite accurate because they’re attempting to recreate the mathematical structure of scanlines as they appeared on real CRT displays. However, they don’t recreate other CRT characteristics, like the slight curvature (geometry) that CRT displays have, the bloom and glow around bright pixels, or subtle overscan effects.
Software filters in emulators
When you play a retro game in an emulator like RetroArch, MAME, or Nestopia, the software itself can apply scanline filters to the output.
Software filters work differently from FPGA scalers. The emulator generates the game’s video frame in memory (typically at the original resolution, like 256×224). Then, before sending it to your display, it applies a shader or filter that modifies every pixel. A scanline shader might darken every other row of pixels or apply a gradient that makes pixels darker at the bottom of each scanline.
Software scanline filters are categorized by their approach:
- Simple darkening: Every other row is darkened by a fixed percentage (30%, 50%, etc.). This is fast and very straightforward but doesn’t accurately model real CRT behavior.
- Gaussian blur: The filter applies a subtle blur both horizontally and vertically, then darkens alternating rows. This simulates the soft focus and light bleed of older CRTs more realistically.
- Phosphor grid emulation: Advanced filters like “crt-royale” or “crt-geom” model the actual phosphor dot or stripe patterns that CRT displays use, combined with realistic scanline spacing and curvature.
The key advantage of software filters is flexibility and cost. If you’re using an emulator, you’re already running on your PC or game console, and adding a filter is free or negligible in cost. You can also switch between different filter algorithms, adjust their intensity, and experiment in real time.
The disadvantage is latency and consistency. Software filters introduce a frame of delay—sometimes more—because the emulator has to generate the frame, apply the filter, and then send it to the display. On a 60 Hz display, a full frame of latency is 16.7 milliseconds. This may be imperceptible for turn-based games, but in action games where timing is critical, it becomes noticeable. Additionally, software filters are applied during emulation, meaning they work on the emulated video stream, not on original hardware. This is both good (you have complete control) and limiting (you can’t use a software filter if you’re playing on original hardware through video cables).
In terms of visual quality, software filters can be extremely effective when properly configured. The best filters (like crt-royale) are based on detailed CRT research and can produce visually convincing results. However, the quality depends heavily on the filter design and your monitor’s characteristics.
Dedicated upscaling hardware
Devices like the RetroTink-5X, Framemeister, and similar upscalers combine aspects of both FPGA and software approaches. They sit between your original hardware and your display, processing the analog video signal and converting it to HDMI.
Many of these devices include scanline options as part of their upscaling pipeline. The process is similar to FPGA scalers, but the hardware is often designed more specifically for retro video processing and may include additional features like line doubling, bob deinterlacing, and advanced picture controls.
The advantage of dedicated upscaling hardware is that it works with original hardware—you connect your Sega Genesis, NES, or vintage computer directly to the device, and it outputs clean HDMI. You don’t need to emulate anything. The latency is minimal because it’s hardware-based. And many of these devices offer extensive customization of scanline behavior.
The disadvantage is cost (these range from $200 to $600+) and the learning curve. Many upscalers require understanding concepts like “line doubling,” “bob vs. weave deinterlacing,” and “temporal filtering” to get the best results. Additionally, not all original hardware outputs compatible signals; some older systems may require additional adapters or modifications.
Technical deep-dive: scanline variables and their impact
When comparing scanline generators and filters, several technical parameters determine how scanlines actually look and perform. Understanding these variables is essential to evaluating different products and approaches.
Scanline intensity (darkness)
Scanlines don’t have to be uniformly black. On a CRT, a scanline is technically a gap in time—the electron beam is repositioning and not emitting light. But because the phosphors have some persistence (they glow briefly after the electron beam passes), and because your eye integrates light over small time intervals, a scanline appears as a dark band rather than total black.
When recreating scanlines digitally, you need to decide how dark they should be. Options typically range from 10% to 50% reduction in brightness (or pixel value) on the scanline rows. A 10% reduction is subtle and might be barely visible. A 50% reduction is dramatic and will heavily affect the overall image brightness and feel.
The “correct” intensity depends on the original hardware. An arcade cabinet with a bright, high-persistence CRT might have 30-40% dark scanlines. A home console monitor might have 10-20% dark scanlines. There’s no universal standard, and eyeballing it is part of the art of getting scanlines right for your personal preference.
Scanline spacing and symmetry
On a real CRT, the scanline spacing is determined by the vertical resolution and the physical screen height. A 224-line display with a 4:3 aspect ratio and a typical screen size will have scanlines spaced evenly at the pixel level.
However, when you scale a 224-line image to fill a 1080-line modern display, you can’t do so evenly. 1080 ÷ 224 ≈ 4.82. You can’t have 4.82 pixels per original scanline. So scaling hardware has to either stretch some lines more than others or use more sophisticated methods.
Different algorithms handle this differently. Some use linear interpolation (which can create uneven scanlines). Others use nearest-neighbor scaling (which preserves the blocky look but creates irregular patterns). The best approaches use adaptive scaling that keeps the pattern regular enough that your eye doesn’t perceive unevenness.
Scanlines should be symmetrical—dark at consistent brightness across the row and evenly spaced from top to bottom. Asymmetrical or irregular scanlines will create a sense of wobble or flutter, which is annoying and pulls attention away from the game content.
Horizontal blur and phosphor simulation
Real CRT pixels aren’t sharp blocks; they’re soft, glowing areas. An electron beam doesn’t turn on and off instantly—it has a characteristic width. Additionally, phosphors on a CRT have some brightness that extends beyond the strict geometric boundary of a pixel.
This creates a natural softness or blur, especially in the horizontal direction. When you view a CRT at normal distance, this blur can make individual pixels less distinct while still allowing you to see detail. It’s a form of analog anti-aliasing.
When recreating a CRT look on a modern digital display, you can add horizontal blur to simulate this effect. RetroArch’s more advanced shaders (like crt-royale) include this. However, too much blur will make the image mushy and hard to read. Too little, and the image looks overly digital.
More advanced scanline generators also model the actual phosphor pattern. CRTs used different phosphor structures: shadow masks (dots), aperture grilles (vertical stripes), or Trinitron-style designs (aperture grille with a different arrangement). Different phosphor patterns have different visual characteristics. A scanline generator that models phosphor patterns can produce more authentic-looking results, but this level of sophistication is rare in consumer products.
Temporal filtering and flicker
Some CRT-like effects require understanding temporal behavior—how the image changes frame to frame.
Real CRTs have a specific refresh rate (60 Hz in North America, 50 Hz elsewhere). Games designed for these displays expect that flickering will occur in a specific pattern at the refresh rate. Flicker is often intentional in sprite design—artists used flickering to reduce color palette limitations, for example.
Modern LCD displays also have fixed refresh rates (usually 60 Hz), but the timing is different. Additionally, if you’re using software filters on an emulator, the timing of frame rendering might not align perfectly with your monitor’s refresh rate, potentially causing subtle but noticeable artifacts.
Some advanced scanline filters include temporal dithering or temporal anti-aliasing to account for these differences. The OSSC and RetroTink-5X include options for handling temporal aspects of retro video signals, which can make the final image feel more authentic.
Practical comparison: FPGA scalers vs. software filters vs. dedicated upscalers
Let’s move past theory and look at what you actually get with each approach in real-world use.
Scenario 1: Playing original hardware (NES, Genesis, Arcade)
If you’re playing on original hardware, you have two choices: dedicated upscaling hardware or FPGA scalers.
Dedicated upscaler (e.g., RetroTink-5X, OSSC): You connect your console via RGB cable, component, or S-video. The device converts this to HDMI and adds scanlines. The result is output to your modern display. Latency is minimal (under 2-3 ms). Scanline customization varies by product—some allow extensive tweaking via menus or software, others have fixed presets.
The RetroTink-5X, for example, offers “scanline” mode that adds either 50% or 100% brightness reduction on alternate lines. You can choose to apply scanlines or not. The quality is very good, and the hardware is reliable. It costs about $300 and requires some knowledge to set up correctly (you need to understand cables, resolution detection, etc.).
The OSSC (Open Source Scan Converter) is less expensive ($150-200 in the used market, or $130 as a DIY kit) but has a steeper learning curve and less extensive scanline customization. However, it’s being actively developed, and firmware updates are free.
FPGA scaler in a display (e.g., integrated into an arcade cabinet): If you’re restoring an arcade cabinet or vintage monitor, you can install an FPGA scaler internally. This requires technical skill and soldering. The advantage is seamless integration—your arcade cabinet will output scanlines as it originally did. The disadvantage is the technical barrier and cost ($200-400 for the hardware alone).
Scenario 2: Playing via emulation on PC or console
If you’re emulating games (via RetroArch, MAME, or similar), you’re using software filters.
RetroArch with a basic scanline filter: You can apply a simple scanline darkening filter to any game in seconds. The filter is free, and the setup is minimal. Latency is typically one frame (16.7 ms at 60 Hz), which is noticeable in fast-action games but acceptable for many games.
The visual result depends on the filter. A basic darkening filter will make the image look flat and less authentic. A better filter like “crt-royale” requires a more powerful GPU but produces much more convincing CRT-like output. The disadvantage is it still looks like digital scanlines, not CRT scanlines—the colors don’t shift around bright pixels the way they do on real CRTs, and the overall character is subtly different.
Pairing an emulator with an upscaler: Some people emulate on a PC or console, then pass the HDMI output through an upscaler like the RetroTink-5X. This adds latency from the emulator (and latency from the upscaler, though minimal), but you get the advantage of hardware-quality scanlines on already-emulated content. This is a compromise solution and introduces more total latency than either approach alone, but some users prefer the aesthetic.
Scenario 3: Gaming on a CRT display (original or restoration)
If you’re fortunate enough to have an actual working CRT, you don’t need to add scanlines—they’re already there. Your challenge is different: keeping the display in good condition.
Older CRTs are prone to failure, and power supply issues, capacitor degradation, and tube aging are common problems. If you’re restoring a CRT, the focus is on reliability and image quality, not scanline recreation.
That said, some people intentionally avoid using their original CRTs for gaming, preferring to preserve them. In that case, using hardware or software scanlines on a modern display is a reasonable compromise.
Aesthetic authenticity: how close can we actually get?
Here’s an honest assessment: modern scanline recreation looks visually similar to original CRT scanlines, but it’s not identical.
The closest you can get is using dedicated hardware (FPGA scaler or upscaler) with carefully calibrated settings. FPGA-based systems can control scanline darkness, width, spacing, and symmetry to very precise tolerances. They can also include horizontal and vertical filtering that simulates the soft glow of CRT phosphors.
The limiting factor is that digital scanlines are uniform and regular, while CRT scanlines, when examined closely, have subtle variations in intensity due to beam width modulation, phosphor persistence, and the analog nature of the technology. You can’t replicate this perfectly with digital output—the physics are fundamentally different.
However, from normal viewing distance (about 24-36 inches from a display), this difference is imperceptible. A well-configured FPGA scaler or quality software filter will look authentic and convincing.
One area where software filters have an advantage is customization for art direction. Different games were designed with different assumptions about their display hardware. A game designed for a bright arcade cabinet should arguably have darker scanlines than a game designed for a home console monitor. Software filters allow you to adjust scanline intensity per-game, while FPGA scalers are more static. This is a subtle point, but it matters to people who care about the original artistic intent of a game.
Diagnostic and comparison framework: testing scanline generators
If you’re evaluating different scanline generators or filters, here’s a structured approach to testing them objectively.
Test 1: Measure scanline visibility and intensity
What to do: Load a solid-color image (white, mid-gray, or bright cyan work well) in your scanline generator or filter. Display it on your monitor at full brightness. Take a photo from normal viewing distance with your phone camera. Zoom in on the photo and examine the scanline pattern.
What to look for: Are the scanlines evenly spaced? Is every other row (or every third row, depending on implementation) consistently darker? Are there artifacts like horizontal banding, waviness, or uneven brightness? Do the scanlines maintain consistent width across the entire display, or do they vary?
Interpretation: Visible banding or waviness suggests the scaling algorithm isn’t handling the resolution conversion smoothly. Uneven brightness indicates a potential issue with the filter or scaler’s implementation. Ideal scanlines should look like a regular grid pattern, even and predictable.
Test 2: Evaluate temporal consistency (flicker and frame timing)
What to do: Use a game with a lot of vertical motion (a scrolling game works well). Play for 2-3 minutes and watch for any stuttering, tearing, or uneven motion. Also, pay attention to any background flicker or shimmer that shouldn’t be there.
What to look for: If you’re using an emulator, watch for frame timing irregularities—the image might appear to jump or pause briefly as frames are rendered and filtered. With hardware scalers, timing should be extremely consistent.
Interpretation: Stuttering indicates latency or frame rate inconsistency. Unexpected flicker (beyond what the original game displays) suggests a mismatch between the filter’s temporal model and your monitor’s refresh rate.
Test 3: Compare color and brightness on fine details
What to do: Load a scene with small sprites, fine text, or detailed patterns (a title screen or menu works well). Compare how the scanlines affect the visibility and color of these fine details. Do colors appear shifted or changed by the scanlines?
What to look for: On a CRT, scanlines create a subtle darkening effect but don’t change the actual color of pixels—they’re just gaps in brightness. On a digital scanline filter, if the filter is applied by darkening entire rows, colors should remain accurate. If the filter simulates phosphor patterns or uses color-aware algorithms, colors might shift slightly.
Interpretation: If colors appear significantly different with scanlines on vs. off, that’s a sign the filter is too aggressive or not modeling color correctly. Ideal scanlines should be “transparent” in terms of color—they should darken the image overall but not shift hues.
Real-world performance and cost trade-offs
Let’s be practical about the decision tree.
Budget under $100: Software filters via RetroArch or an emulator are your only option. This means you’re emulating games, not playing original hardware. The visual quality depends entirely on the filter you choose. Free, but requires you to be comfortable with emulation setup.
Budget $150-250: You can get a used OSSC, a RetroTink 2X, or DIY components to build a scaler. At this price, you’re getting decent hardware-level scanline generation that works with original hardware. Expect a learning curve and possibly some trial-and-error with cables and settings.
Budget $250-400: You can afford a RetroTink-5X or a higher-end FPGA scaler. This is where you get the best balance of ease of use, visual quality, and compatibility. The RetroTink-5X, specifically, is probably the best all-rounder for most people—it handles analog video inputs cleanly, adds scanlines (with adjustable intensity), and outputs clean HDMI. Minimal latency.
Budget $400+: You can integrate an FPGA scaler into a CRT monitor or arcade cabinet, or you can build a very high-end emulation station with a powerful PC and high-quality filters. At this level, you’re paying for customization and integration rather than significant quality jumps.
Cost of original CRT hardware: If you have a working CRT monitor or arcade cabinet, that’s the gold standard—no scanline recreation needed. But CRTs are aging, and replacement of failing components (capacitors, tubes) can cost $50-200 depending on the device. Many people decide the preservation cost isn’t worth it and opt for a quality upscaler instead.
Important considerations and edge cases
Interlaced vs. progressive content
Many retro games and systems output interlaced video—content where every other line is drawn on even fields and the rest on odd fields, alternating 60 times per second. This creates a flicker that’s visible on CRTs but becomes a processing problem for modern digital displays.
FPGA scalers and upscalers must deal with interlacing. Most modern units include deinterlacing algorithms (bob deinterlacing, weave deinterlacing, or adaptive methods). The quality of deinterlacing affects how the final image looks. Poor deinterlacing can create jagged, flickering results. Quality deinterlacing requires processing power and careful algorithm tuning.
Software filters in emulators don’t have to deal with interlacing in the same way because the emulator generates progressive output. However, if you’re feeding an emulator’s output through a hardware upscaler, you’re adding the deinterlacing problem back in.
Overscan and image cropping
CRT displays render more lines than are actually visible on the screen—this is overscan. Typical overscan hides about 10-15% of the edges of the image. When converting retro video to modern displays, overscan regions need to be handled carefully.
Some scalers crop overscan regions (so you lose some image content). Others display the full image (so you might see black bars or letterboxing). Neither is “wrong”—it’s a design choice, and it affects how the game looks.
If you’re very particular about image composition, this is worth investigating in your chosen scaler. Some units have adjustable overscan cropping.
Horizontal resolution and text clarity
When scanlines are applied, they affect the vertical resolution by adding visual separation between lines. But they don’t affect horizontal resolution. If the original game has low horizontal resolution (like 256 pixels wide), and scanlines are applied, the text and graphics will still look somewhat blocky horizontally—the scanlines don’t magically fix that.
Some people apply both scanlines and a slight horizontal blur to more closely simulate the soft focus of CRTs. This helps mask the blocky horizontal resolution but requires careful tuning to avoid looking muddy.
Variable refresh rate (VRR) and G-Sync/FreeSync
Modern gaming monitors sometimes support variable refresh rates. This can cause issues with scanline filters and scalers, which expect a fixed refresh rate.
If you’re using a hardware scaler with an arcade cabinet or console, VRR doesn’t apply—the scaler outputs a fixed HDMI signal. But if you’re emulating on a PC with a VRR-enabled monitor, disabling VRR might actually improve stability and reduce temporal artifacts with scanline filters.
Making your decision: a practical framework
Here’s how to choose the right scanline approach for your setup.
Do you want to play original hardware (cartridges, arcade boards, etc.)? If yes, you need hardware: either a dedicated upscaler ($200-400) or an FPGA scaler ($150-300 used). The RetroTink-5X is the safest bet for beginners; the OSSC is cheaper but steeper learning curve. If no, continue.
Are you comfortable with emulation, or do you want original hardware? Emulation opens the door to free software filters (RetroArch). Original hardware requires purchased hardware. Decide based on your tolerance for setup complexity and your desire for preservation-quality play.
What’s your visual priority: authenticity or customization? FPGA scalers prioritize authenticity—they’re trying to recreate what a CRT would look like. Software filters prioritize customization—you can tweak them extensively per-game. If you want to experiment and have fine control, software filters win. If you want a mostly-set-it-and-forget-it solution, hardware wins.
How much latency can you tolerate? Hardware scalers introduce 2-5 ms of latency. Software filters introduce 16 ms (one frame) or more. For action games where frame-perfect timing matters, hardware is better. For slower games, software is fine.
Do you have an existing CRT display? If it works and you’re willing to maintain it (recapping capacitors, replacing blown fuses, occasional repairs), it’s the most authentic solution. If it’s broken or you don’t want to risk it, a modern display with scanlines via upscaler is a solid compromise.
One final thought: don’t fall into the trap of assuming that “most authentic” means “best for you.” A software filter on a PC-based emulator might give you less latency and more flexibility than a hardware solution, even if the result isn’t pixel-perfect CRT recreation. Practical utility matters. Use what works for your situation, not what’s technically purer in the abstract.
The retro gaming and computing landscape is vast, and no single solution is optimal for everyone. But understanding the engineering behind scanline generation—why CRTs have them, how they’re mathematically reconstructed, and what the trade-offs are in different approaches—puts you in a position to make a confident choice that matches both your budget and your goals.