v2026.11 DB LIVEVerified Frame-Time & Emulator Config Recipes for PS2, GameCube, Switch, PSP & iOS Delta
60
RetroFPSHandheld Matrix
Test FPS
🧭 Matchmaker📦 PortMaster📐 16:9 Hacks🕹️ Systems🔋 Battery⚡ Input Lag📺 Shaders🎮 Frontends📱 Handhelds (24)💿 Games (50)⚔️ Versus⚡ Turnip Drivers📦 ROM Compress📐 Screens🛠️ CFW🧠 Chipsets💾 SD Calc
🖼️Aesthetic Immersion & Zero-GPU Hardware Acceleration

Retro Handheld Overlays & Realistic Bezels Master Guide

How to transform ugly black letterbox bars into authentic Game Boy DMG, GBA, and CRT arcade borders. Viewport pixel coordinate calculations, integer alignment, and zero-battery-drain visual tuning.

💡
The Performance Secret:Heavy CRT shaders (like CRT-Royale) calculate electron beam curvature and bloom math on the GPU, causing budget handhelds (RG35XX, Miyoo Mini) to drop to 45 FPS with audio crackling. Overlays, on the other hand, are 100% free: they are static 2D transparent PNGs drawn over the screen with zero math. You get gorgeous retro borders, authentic LCD grids, and locked 60 FPS without heating up your handheld.
Interactive Configuration Suite

RetroArch Viewport Offset & Bezel Calculator

Select your target handheld screen resolution and classic system to calculate exact viewport pixel offsets.

📐 Pixel-Perfect Coordinates
Integer Scale Factor
2x Integer Scale
480 x 320 px Canvas
Screen Fill Percentage
50.0% of Display
Remaining area = Bezel art
X / Y Centering Offsets
X: 80 px | Y: 80 px
Exact window coordinates
Moiré Shimmer Risk
ZERO (Perfect Integer)
Clean scanline lines
Generated RetroArch Core Override (retroarch.cfg):Copy & Paste Ready
# Custom Viewport for Game Boy Advance Bezel
aspect_ratio_index = "23"
custom_viewport_width = "480"
custom_viewport_height = "320"
custom_viewport_x = "80"
custom_viewport_y = "80"

# Overlay Display Settings
input_overlay_enable = "true"
input_overlay_opacity = "1.000000"
input_overlay_scale = "1.000000"
video_scale_integer = "true"
          
💡 Why This Alignment Eliminates Pixel Shimmer:
Visual Themes

The Three Most Popular Overlay Styles

Dot MatrixGame Boy DMG

Original DMG "Pea Soup" Green

Features the classic grey bezel with magenta stereo headphone accents and battery power LED. Paired with a subtle 1x1 LCD grid overlay, it recreates the physical depth and pixel separation of Nintendo's 1989 monochrome screen.

✓ 1:1 authentic 10:9 aspect ratio
Widescreen FrameGBA 3:2

Game Boy Advance Indigo Border

GBA games have a 3:2 aspect ratio. On standard 4:3 displays, running GBA produces black bars top and bottom. A custom GBA overlay covers those black bars with realistic molded plastic texture, speaker grilles, and embossed logos.

✓ Fills 4:3 top/bottom letterboxes
Arcade CabinetNeo Geo & CPS

Curved CRT Bezel with Reflection

For 16:9 widescreen handhelds playing 4:3 arcade or SNES titles, side bezels feature realistic curved TV tube glass reflections and authentic arcade marquee side-art without the performance penalty of 3D shader math.

✓ Fills 16:9 pillarboxes on Odin / RP5
Setup Instructions

How to Install and Save Overlays in RetroArch

1

Download Overlays

Copy your .png image and .cfg overlay file to your SD card under RetroArch/overlays/.

2

Enable Overlay

Press your hotkey to open RetroArch Quick Menu > On-Screen Overlay > Overlay Preset > select your .cfg file.

3

Adjust Viewport

Go to Settings > Video > Scaling > Aspect Ratio: Custom. Enter the exact Width, Height, X, and Y from our calculator above.

4

Save Core Override

Open Quick Menu > Overrides > Save Core Overrides. Now, every GBA or DMG game will automatically launch with this custom bezel!

Frequently Asked Questions

Bezels & Overlays Q&A

Q: Do RetroArch overlays and bezels reduce emulation FPS or battery life?

No! Unlike heavy multi-pass CRT shaders (like CRT-Royale) which perform intensive mathematical calculations per pixel on the GPU, RetroArch overlays are lightweight 2D PNG alpha textures blended over the display framebuffer. They consume less than 0.5% GPU overhead, cause zero frame drops, and have virtually no measurable impact on battery life, even on budget $40 handhelds.

Q: How do you align a retro game screen perfectly inside an overlay frame?

Open RetroArch -> Settings -> Video -> Scaling. Set 'Aspect Ratio' to 'Custom'. Then manually adjust 'Custom Viewport Width', 'Custom Viewport Height', 'Custom Viewport X', and 'Custom Viewport Y' until the active game canvas fits cleanly inside the transparent window of your bezel PNG. Save this as a Core Override or Game Override so it loads automatically.

Q: Why do scanline overlays cause uneven moiré shimmering when games scroll?

Moiré patterns occur when the scanline overlay grid does not match an exact integer multiple of your game's original pixel resolution. For example, running GBA (160p) on a 480p screen requires exact 3x integer scaling (480p). If non-integer scaling is enabled, some scanline rows will span 2 pixels while others span 3 pixels, creating a visible wavy shimmer during horizontal or vertical camera motion. Always enable Integer Scaling: ON when using scanline overlays.

Q: Where can you find high-quality retro handheld overlays and bezels?

The retro community maintains several gold-standard repositories: 1) The official RetroArch Overlay pack (installable directly via RetroArch Online Updater -> Update Overlays), 2) Duimon's Mega Bezel Packs (ultra-realistic reflective glass bezels with dynamic lighting), and 3) The 'Perfect_Overlays' GitHub repository optimized specifically for 480p, 720p, and 1080p handheld screens.

Related Display & Visual Guides