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 First Person Shooter (FPS). Playing as a space marine, you’re up 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, including versions for Raspberry Pi.
Yes, that’s right: Doom on the Raspberry Pi. PiDoom, anyone?
What You’ll Need to Run Doom on Raspberry Pi
To run this retro classic on your Raspberry Pi, you won’t need emulators (like RetroPie or Recalbox) or game ROMs. Doom can run natively on the Pi with a simple installation of the game engine and WAD files.
These contain the actual game data (levels, monsters, weapons, etc.) and are available in many different themes.
Before we get onto that, however, here’s what you’ll need for PiDoom:
- A Raspberry Pi 2 or later (we’ve tested on a Raspberry Pi 2, Raspberry Pi 3, and a Raspberry Pi 4 8GB)
- Raspbian or Raspberry Pi OS (depending on Pi model) installed and ready to use
- Any USB game controller
- A suitable monitor or 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.
How to Install Doom on the Raspberry Pi
Get started by hooking your Raspberry Pi to a display, plug in a keyboard, and boot into the desktop.
You’ll need to install the game via the command line, so this stage can be done via SSH if necessary. Most Linux operating system repositories include Chocolate Doom, including those for Raspbian. As such, you can simply enter
In the command line, begin by installing the Chocolate Doom dependencies:
sudo apt install chocolate-doom
Wait while it installs, following any relevant on-screen prompts.
Install Doom WAD Files on Your Raspberry Pi
With the Doom engine installed on your Pi, it’s time to install a WAD file.
There are many WAD files available, and we’ll look at some of the best alternatives later. For now, let’s 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.
First, navigate in the terminal to /usr/games. Here, run this wget command to download the DOOM1.WAD file:
sudo wget http://www.doomworld.com/3ddownloads/ports/shareware_doom_iwad.zip
As this is a zip file, unpack it with the unzip command:
sudo unzip shareware_doom_iwad.zip
You’ll end up with a file called DOOM1.WAD which means you’re ready to play Doom on your Raspberry Pi!
Configure Doom for Play on 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, and game controller.
You can even start or join a network game (although these options can be easily controlled from the command line).
When you’re done with the configuration, select Save parameters and launch DOOM. BANG BANG BANG!
Launch Chocolate Doom in the Raspberry Pi Command Line
It’s important to note that you don’t need to run Doom from the configuration tool every 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 older boards (such as the Raspberry Pi 2) with this screen resolution. In this case, 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.
You can also launch Chocolate Doom from the Menu > Games menu on the Raspberry Pi OS desktop.
How to Play Doom on Raspberry Pi
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.
In the accompanying screenshots I’ve used the official Raspberry Pi Touchscreen and a USB Xbox 360 controller. Simply connect your chosen controller before running the setup tool, then select Configure Gamepad/Joystick.
Thanks to the compact dimensions of the touchscreen and accompanying stand, it will fit on shelves, tables… anywhere, really!
Finding New WADs for PiDoom
Looking for a Doom gaming experience that differs from the original? You’ll need to track down some WAD files. Many of these are available online—the problem is finding them.
Some locations for Doom WADs are:
- Doom WADs Wikia page features a large selection of downloadable files.
- DoomWADStation provides customizations for your Chocolate Doom installation.
- Doomworld WADs forum offers the biggest collection of Doom-related material online.
Meanwhile, Doom II can also be played in Chocolate Doom with the appropriate WAD files. 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 then simply try a direct web 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.
Other Ways to Play Doom on Raspberry Pi
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.
- 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. 2001’s Return to Castle Wolfenstein will run on the Raspberry Pi 3 and later.
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 for a Deathmatch.
Chocolate Doom is available for Windows, Mac, Linux, and BSD. As such, any desktop operating system can be used to join a Deathmatch.
Looking for more classic Raspberry Pi games you can play without emulators?
Read the full article: How to Run Doom on Raspberry Pi (Without an Emulator)