12/26/2020 by Old Kid
Odamex is a source port of Doom/Doom 2 that features well-implemented TCP/IP network play, a server browser and faithful gameplay to the orginal Doom games. Tonight I worked out how to compile it for my Raspberry Pi 3B+ and 4. I have not tested any other Pi's but I can say the binaries created on the 3B+ work for both versions. This guide uses Raspberry Pi OS.
Thanks to Asriel on the Odamex Discord for helping me sort this out.
References from the Odamex Wiki:
To compile, you will need libsdl2-mixer-dev, libwxgtk3.0-dev, and cmake. Fire up the terminal and enter the following commands:
First, make sure you have Git installed on your Pi:
Once Git is installed, navigate to your home directory and grab a "git clone" of Odamex. This example uses 0.8.3 stable commit.
In the source directory (~/odamex), create a folder named 'build'.
From inside of the build directory, we need to run a cmake command to create our make files.
Now that our make files are created, we can compile. To build Odalaunch, Odaserv, and Odamex, run:
Note: If you only wanted to build only Odamex (without Odalaunch and Odaserv), add "--target odamex" to the end of the last command.
The compiler will make many folders and files in the /odamex/build folder. We only need to be concerned with a few. Let's collect these up into a folder of their own. To make it easy, let's create a folder in our home directory.
Now we can copy what we need into there.
Odamex Binary: /home/pi/odamex/build/client/odamex
Odasrv Binary: /home/pi/odamex/build/server/odasrv
Odalaunch Binary: /home/pi/odamex/build/odalaunch/odalaunch
We need a Doom or Doom 2 IWAD file to run Odamex. They are going to be called "doom.wad" and "doom2.wad" respectively. Regardless how you acquire these, for simplicity's sake we want to put them in our "~/odamex-binary" folder.
We have a few options:
If you buy Doom or Doom 2 on Steam and install it to your Windows PC, you can find the file in your "\steamapps\common\DOOM\" or "\SteamLibrary\SteamApps\common\Doom 2" folder.If you skim through my Cross-Compiling ScummVM on a RPi article, you can learn how to FTP files to your RPi from a Windows computer using Filezilla. If you use this approach, put the wad files in our new "~/odamex-binary" directory.
Buy The Ultimate Doom here:
Buy Doom 2 here: https://store.steampowered.com/app/2300/DOOM_II/
Freedoom is a project that replaces the original IWADs from Doom and Doom 2 with non-copyrighted community created assets (levels, textures, monsters, etc). The idea is that people can enjoy Doom for free.
Download "Freedoom: Phase 1+2" here: https://freedoom.github.io/download.html
Inside the Freedoom zip file are two files we can use, "Freedoom1.wad" and "Freedoom2.wad". Either file will be detected and run in Odamex.
Proceed at your own risk.
Google is your friend. Try "doom.wad" or "Doom IWADs" and see what you can hunt down.
A simple way to load up Odamex is through Odalaunch. This will allow you to browse and join online servers, as well as boot into a single player game from a GUI. Let's fire it up:
We need to set the Odamex Path to "/home/pi/odamex-binary". To do so, click on the drop-down bar immediately below "Odamex Path", and select "Other". From here, we can navigate the file explorer to our "/home/pi/odamex-binary" directory.
For good measure, we can click the second button from the top of the "Wad Directories" field to add a new WAD path. Navigate to "/home/pi/odamex-binary" and click Ok. Click OK in the bottom right to exit the settings menu. If asked to save settings, click "Yes".
To test it out, Click File - Start Odamex (Single Player) to launch the game.