April 21, 2025
A streamlined guide for building a modern yet CRT-compatible PC from scratch, using CRT Emudriver and GroovyMAME. This guide is tailored for users who want to run 15 kHz video modes on real CRT displays, including PVMs, BVMs, consumer sets, and arcade monitors. It assumes you’re starting from zero and want a reliable, clean setup using parts available new or second-hand.
Ideal for new LGA 1700 socket builds in 2024–2025. Affordable, modern, and powerful enough for demanding emulators.
If you’re shopping second-hand or already own an LGA 1200 motherboard, this is a solid pick.
The GPU is the most crucial piece for CRT Emudriver. Your GPU must be supported by CRT Emudriver 2.0, and must have native VGA output (or use a known-good active adapter with DVI-I).
These cards:
Make sure to buy a low-profile or full-height version depending on your case.
Super resolution, in the context of CRT Emudriver and GroovyMAME, is a method for outputting many different arcade video modes (resolutions and refresh rates) using a single base resolution width, usually 2560 pixels wide, while varying the vertical resolution and refresh rate.
It works like this:
Fewer modelines: Instead of needing a custom resolution for every arcade game, you only need a few super resolutions to cover everything. This drastically reduces the number of modes you need to create and avoids driver limits on the number of installed modes.
Hardware compatibility: Many modern graphics cards, especially with CRT Emudriver, are better at generating consistent timings with super resolutions than with many unique native resolutions.
Game accuracy: GroovyMAME will scale the game’s native resolution into the closest-fitting super resolution, preserving the correct aspect ratio and refresh rate, often with frame-perfect results on CRTs.
These are not meant to be displayed at full 2560 horizontal resolution — they’re used internally to allow flexible, dynamic resizing and timing.
A full GPU compatibility list is at the bottom of this document.
VMMaker and Arcade OSD are key tools for anyone setting up a GroovyMAME and CRT Emudriver environment. They help generate modelines, create custom resolutions, and adjust various settings for a smoother and more accurate gaming experience on a CRT monitor.
VMMaker is a program that generates the custom modelines required for your games. Modelines are settings that define the resolution and refresh rate that the GPU outputs to the monitor. These settings are vital for ensuring that your arcade games display correctly on CRTs, especially for those that use non-standard resolutions and refresh rates.
VMMaker will automatically create the right modelines for a range of arcade games, taking into account the unique needs of each one. Once generated, these modelines can be loaded into GroovyMAME or used with CRT Emudriver.
How does it work? VMMaker takes data from the game’s default resolution, such as pixel count, aspect ratio, and refresh rate, and translates it into a modeline that matches your CRT’s capabilities.
Key Features:
Generates modelines for different CRT resolutions
Allows fine-tuning of sync rates and timings
Compatible with GroovyMAME, CRT Emudriver, and other arcade emulators
Supports super resolutions for efficient mode handling
Arcade OSD is a utility for adjusting video settings directly from the screen. It allows you to tweak and fine-tune the output signal, such as resolution and sync settings, directly from a graphical on-screen display (OSD). This is essential for anyone using a CRT, as these monitors often need adjustments that standard LCD monitors don’t.
Arcade OSD can be used to make quick adjustments to the video output, including:
Adjusting sync and timings for more accurate video output
Tuning the image for better display quality
Testing modelines to ensure compatibility with your CRT monitor
How does it work? Arcade OSD uses the modelines generated by VMMaker and allows you to visualize and adjust them on the fly. It gives you a direct way to interact with the video output and ensures that all settings are tuned for optimal performance.
Key Features:
Visual interface for adjusting video output settings
Easy-to-use for on-the-fly adjustments
Works with CRT monitors to ensure correct timing and sync
Compatible with GroovyMAME and CRT Emudriver for seamless setup
Refer to Calamity’s official compatibility post, but here’s a summarized version:
This guide was made possible thanks to years of effort by the CRT preservation and emulation community, particularly: