Retro Gamers Rejoice: The Raspberry Pi 5 Can Now Output Interlaced VGA, RGB to Your CRT Displays
Using new support for user workloads on the RP1 chip's PIO blocks, it's now possible to party like it's the last millennium.
Raspberry Pi's Nick Hollinghurst has spilled the beans on how the Raspberry Pi 5 gained support for interlaced video output to an analog VGA- or RGB/SCART-compatible display β and it's all down to the RP1 chip and its Programmable Input/Output (PIO) capabilities.
"The very first Raspberry Pi had a composite video output, and all models with a 40-pin header have a display parallel interface (DPI) output," Hollinghurst explains. "With some external components, DPI can be converted to VGA or RGB/SCART video. Those analog interfaces are still in demand for retro media and gaming. Raspberry Pi 5 was a big step up in processing power, but unlike previous models, its DPI block didn't support interlaced video (which isn't really part of the DPI standard), so it couldn't send full-resolution RGB to a CRT television. Until now."
The Raspberry Pi 5 family is unique among the current Raspberry Pi line-up for more reasons than its dramatically improved performance over its predecessors: the RP1, an in-house "southbridge" chip that handles a range of relatively low-bandwidth tasks, including the general-purpose input/output (GPIO) header. Its development was the precursor to the Raspberry Pi RP2040 microcontroller β and like the RP2040, the RP1 includes a Programmable Input/Output (PIO) block, allowing it to run state machines that run separately to the processor cores.
It's these PIO blocks, which were key to working around the lack of interlace support in the off-the-shelf DPI block: using recently-added support for running user workloads on the RP1's PIO hardware, Hollinghurst and colleagues were able to get it to generate the synchronization pulses required for interlaced video β while adding support for displaying fields instead of whole frames and with the correct timing was solved "by hacking the DPI peripheral" itself.
Full technical details on the process are available on the Raspberry Pi blog, along with instructions for using a Raspberry Pi 5 with VGA666 HAT add-on and a suitable 50Hz-capable analog TV or monitor to try the new output mode out. "We hope this helps people to enjoy an authentic retro experience with their favorite television shows and games on a real CRT TV," Hollinghurst says.