Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.
Want to enjoy some awesome retro gaming, alone or with friends? Fancy teaming up online for some awesome monster blasting first-person shooter fun? Of course you do!
Back in 1997, id Software released the source code for Doom, the ground-breaking 1993 FPS which pits you, a space marine, against all manner of demons and beasts on the Martian moon of Phobos. With the source code available, various new forms of the game have appeared over the years, perfect for running on a Raspberry Pi.
Yes, that’s right: Doom on the Raspberry Pi. PiDoom, anyone?
What You’ll Need
To run this retro classic on your Raspberry Pi, you won’t need any emulators (like RetroPie or Recalbox) or game ROMs. Doom can run natively on the Pi with a simple installation of the game engine, followed by some WAD files. These contain the actual game data — levels, monsters, weapons, and so on — and come in many different themes.
Before we get onto that, however, here’s what you’ll need for PiDoom:
- A Raspberry Pi 2 or Pi 3
- Raspbian Jessie installed and ready to use
- Any USB game controller
- Any Display
- Doom source code
Several versions of the Doom source code are available. We’ll be using the Chocolate Doom variant, which is compatible with the majority of WADs.
Install Doom on the Raspberry Pi
Get started by hooking your Raspberry Pi 2 or 3 up to a display, plug in a keyboard, and boot into Raspbian.
You’ll need to install the game via the command line, so this stage can be done via SSH if necessary.
In the command line, begin by installing the Chocolate Doom dependencies:
sudo apt-get install libsdl-mixer1.2-dev libsdl-net1.2-dev python-imaging
Once this is done, download the Chocolate Doom code, using wget:
Head to www.chocolate-doom.org/wiki/index.php/Downloads to check the correct file name and path to the download first however, as this may change for future versions.
With the download complete, extract with tar:
tar xzf chocolate-doom-2.2.1.tar.gz
You can now compile Chocolate Doom. Switch directory with:
Now run the configure routine, followed by make to compile files. This will not be quick:
Everything is now ready to install:
sudo make install
Install a Doom WAD File on Your Raspberry Pi
There are many WAD files available, and we’ll look at some of the best alternatives later. For now, you’re going find out how to install a WAD, using the standard Doom data file. This will add the usual Doom maps and weapons to the game.
From inside the chocolate-doom-2.2.1 directory, run this wget command to download the DOOM1.WAD file:
As this is a zip file, you’ll need to unpack it. The unzip command will work fine:
You’ll end up with a file called DOOM1.WAD. Oh, and you’re ready to play Doom on your Raspberry Pi!
If you were previously running commands over SSH, now is the time to plug a keyboard into your Raspberry Pi. Alternatively, you could connect over VNC or RDP, but this will result in a slightly jerky game. Certainly, stop using a remote connection before you start playing!
Before you can play the game, you’ll need to configure Doom. This means running the setup routine with the command:
Use this screen to configure your display, sound, keyboard, mouse, game controller, and even start or join a network game (although these final options can be easily controlled from the command line).
You can control this configuration menu using keyboard or mouse.
When you’re done with the configuration, hit Save parameters and launch DOOM. BANG BANG BANG!
Launch Chocolate Doom in the Command Line
Although you may have already launched Doom, note that you don’t need to run it from the configuration tool every single time. Instead, there’s an easy command line instruction you can use:
chocolate-doom -iwad DOOM1.WAD
This will launch the game in full-screen mode. However, it can cause a strain on your Raspberry Pi with this screen resolution. For the Raspberry Pi 2, this is particularly a problem. So, you might prefer to run Doom in windowed mode instead:
chocolate-doom -iwad DOOM1.WAD -window 640x480
These settings can also be set as permanent in the configuration tool, using the Configure Display option.
The Best Doom Experience
How you play Doom on your Raspberry Pi depends on you. A big screen TV with an Xbox game controller might be your preference. Perhaps you’ve already hacked your Pi into a portable gaming machine, complete with built-in controller.
Or you might just like the traditional desktop experience, controlling your space marine with a mouse and keyboard. After all, that’s how we did it in the 1990s.
My own preference is to use the official Raspberry Pi Touchscreen, which is very easy to set up. After configuring my game controller (a USB Xbox 360 controller), I could then take my Raspberry Pi pretty much anywhere — with a portable battery pack, of course — and play Doom.
Thanks to the compact dimensions of the touchscreen and the useful stand, it will fit on shelves, tables… anywhere, really!
Finding New WADs for PiDoom
If you’re looking for a Doom gaming experience that differs from the original, you’ll need to track down some WAD files. Many are available online. The problem is tracking them all down.
For instance, you might head to the Doom WADs Wikia page, where you’ll find a big selection of downloadable files.
Alternatively, you could drop in to the DoomWADStation, where you’ll find customizations for your Chocolate Doom installation.
Newer WADs, meanwhile, can be found at the DoomWorld.com WADs forum. That site has the biggest collection of Doom-related material online, and you’ll really feel the love for the game there.
Doom II WADs can also be played in Chocolate Doom. Many of these can be found in the idGames Archive. Among the options you’ll find here are:
- The Alien-inspired Alien TC.
- Doctor Who Doom, which is obviously a shooter based on the long-running British TV series Doctor Who.
Finally, if you’re aware of specific Doom WADs (perhaps from a friend, magazine, or from reading about it online), then simply try a direct Google search for the file. Who knows what you’ll turn up?
Set Up a Multiplayer Doom Deathmatch!
internet and local network play are both possible with Chocolate Doom. However, simplicity (and trouble-free play) dictates that all Deathmatch players should be running Chocolate Doom, and the same WAD file, before starting.
Whichever multiplayer option you take, one computer must act as the server to host the game. The host can also play, however. Before proceeding, ensure that UDP port 2342 is open on all players’ routers and/or firewall. Our guide to port forwarding may help here.
Hosting a Deathmatch is as simple as this command:
chocolate-doom -server -privateserver -deathmatch
Anyone on the same network as you can connect to the Deathmatch by running Chocolate Doom as explained above, appending the -autojoin switch:
chocolate-doom -WAD DOOM1.WAD -autojoin
Players wishing to join the Deathmatch from beyond your network, meanwhile, should run:
chocolate-doom -connect [IP_ADDRESS]
They’ll need to replace [IP_ADDRESS] with your public IP address, you can find this via whatismyip.com, or by checking your router’s web interface.
Alternatives to Chocolate Doom
Although we have focused on installing and setting up Doom with Chocolate Doom, there are some alternatives. And if you don’t want Doom but you do want some FPS action… well, there are a few options for you as well. The following can all be installed natively on the Raspberry Pi, without emulation.
Freedoom — This is an alternative project, featuring free game content based on the Doom engine. It comprises three phases: Phase 1, the Doom clone; Phase 2, a Doom II and Final Doom clone; and FreeDM, a Deathmatch game. Currently Freedoom is under active development.
Duke Nukem 3D — Not Doom, clearly, but nevertheless a popular shooter in its day, with many revivals over the years. This isn’t really a suitable game for children, however, due to the tone of the visuals and dialogue.
Quake III — Still popular after all these years, Quake III can be installed on the Raspberry Pi.
Wolfenstein 3D — A little older than Doom, but from the same developers, this can either be installed independently from Doom or enjoyed as a WAD in the Doom engine. (We’ve also heard rumors that 2001’s Return to Castle Wolfenstein will run on the Raspberry Pi 3.)
So, if you want to extend your Raspberry Pi’s retro FPS collection to these titles, they’re ready and waiting for you to download and install them!
Play Doom and Host Deathmatches on Your Pi!
Another awesome retro gaming experience revived thanks to the Raspberry Pi! This little computer really continues to surprise, doesn’t it? By now you should be ready to play Doom on your mini-PC, and might even have a few friends round to play a Deathmatch.
Chocolate Doom is available for Windows, Mac and Linux (as well as Linux alternative BSD) so any desktop operating system can be used to join a Deathmatch.
Looking for more classic Raspberry Pi games you can play without emulators? We’ve got you covered!
Image Credit: Oddly Rambunctious via YouTube