Raspberry Pi

The Raspberry Pi is an inexpensive System-on-Chip(SOC) single-board general purpose computer, intended to teach programming in public schools. It is popular in hobbyist circles.

Due to its 1080p HDMI output and USB interfaces, it was only a matter of time before Doom was ported. The shareware version of Doom was used during development of the Raspberry Pi in its benchmarking tests, and was useful in debugging compilation issues when porting software to the Raspberry Pi's ARM1176JZF-S, a relatively rare ARMv6 variant. Chocolate Doom is available in the official Raspberry Pi Store, and can be considered the "official" source port for the platform.

Caveats
The Raspberry Pi's GPU supports a video overlay and OpenGLES 2, and requires special compiles of SDL and SDL2 from the RetroPie project as of this writing. As these changes have not been accepted into upstream, using the vanilla versions of SDL can cause problems such as blanking screens and abysmal framerate unless played in a window. Use the vanilla versions at your own risk.

Previously, on older firmware, source ports in framebuffer mode had to be able to run at 640x480 to show anything at all.

Ports
This list is by no means complete. Unless indicated otherwise, all ports noted in this list are best played in framebuffer mode, not X11, due to hardware acceleration. Most of the display problems described are remedied by installing the custom RetroPie SDL libraries.


 * Chocolate Doom: Works in framebuffer mode and X11.
 * Doom Retro: Includes a custom Makefile for Raspbian. Newer firmware can cause jittery display or blank screens. Works fine in X11.
 * Eternity Engine: Heavily tested, and should work properly. Works fine in X11.
 * Odamex: Client and server compile and run properly. Works fine in X11.
 * PrBoom: Officially supported in the RetroPie Project, and should be played in that environment. PrBoom+ does not work, due to compilation script issues.
 * ZDoom (SDL2): As of late April 2015, ZDoom is mostly supported, using OpenAL instead of FMOD. ZDBSP may cause rendering issues. X11 mode does not work.

Sources and External Links

 * Post mentioning James Hughes using Doom as benchmark
 * RetroPie SDL libraries in DEB format
 * GitHub repo of SDL libs for RetroPie
 * RetroPie Project Home Page