Run Doom on MacOS

Time 4 minute read
Running Doom on MacOS is not that hard!
Running Doom on MacOS is not that hard!

This is the short get-to-the-point way with no optimization whatsoever.

brew install gzdoom
  • If you don’t own Doom or Doom 2 already, download the Windows installer of an original Doom release from either GOG or Steam
  • Download innoextract
brew install innoextract
  • Extract files from Doom installer
innoextract -I DOOM.WAD -d ~/doomwads ~/Downloads/setup_the_ultimate_doom_1.9_\(28044\).exe
  • Run GZDoom with DOOM.WAD
/Applications/GZDoom.app/Contents/MacOS/gzdoom -f ~/doomwads/DOOM.WAD

Skip this part if you don’t want to read personal background stories

It must have been like 2000-2001-ish when I first played Doom. I was too young to experience it when it first released, and when I played it for the first time, I didn’t like it. Yes, I admit it. I didn’t get what everyone else was seeing in this game. The enemies' sprite design didn’t appeal to me, controls where clunky. Every shooter I had played up to this point (Half-Life, Unreal Tournament, Thief, …) seemed far more superior to me.

Only later I disvocered what kind of impact Doom had on the industry. Doom did for PC gaming, what Nirvana did for rock music. The story of id Software, it’s inception and how they conceived their games is also very intruiging. I strongly recommend David Kushner’s Masters of Doom, if you are interested in that.

With the emerging boomer shooter craze in recent years - Boomer Shooter Humble Bundle, Curated list on Steam, “What’s a Boomer Shooter” on YouTube - I’ve been rediscovering the original Doom. And I wanted to play it on MacOS.

While it is relatively easy to get Doom and Doom 2 running on Windows platforms, with releases on GOG and Steam, I’ve struggled quite a bit to get it running on MacOS. I’m currently stuck on a Mac because of work and because I made the switch to Mac about 6 years ago. Before that, I’ve been working with different Linux distributions.

Brew will make everything much easier, so we are going to install that first. Fire up a terminal, paste the following line and execute it.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

OK, now that we’ve got Brew, install a source port of Doom. What’s that?

To run Doom, Doom 2 or any of the Doom Mods on MacOS, you will need a so called source port. As Doom basically runs on anything, there are obviously ports that run on Mac.

The most sophisticated and commonly used source port is GZDoom. This will allow you to run basically every idTech 1 game (Heretic, Hexen, Strife, Chex Quest) on modern systems.

In the terminal, type the following command.

brew install gzdoom

While you’re at it, also download a tool called innoextract. This will allow us to extract Windows-like archives and get a hold of their contents.

brew install innoextract

Although you now have a port of the engine, you still need some assets (level, textures, sounds, …), the so called WADs. Doom is available on GOG for a small dime. Download the installer for Windows. Don’t worry if it is an EXE file, that’s why we installed innoextract previsouly.

Extract the files from the GOG installer, using this command:

innoextract -I DOOM.WAD -d ~/doomwads ~/Downloads/setup_the_ultimate_doom_1.9_\(28044\).exe

This will only extract the actual DOOM.WAD and place it in a folder called doomwads in your user’s folder.

ls ~/doomwads

DOOM.WAD

You can store additional WADs for modifications or other games in this folder.

GZDoom will look in certain directories for WADs. If you run GZDoom right now, it will give you a hint about those directories.

GZDoom can’t find any WADs.
GZDoom can’t find any WADs.

You could do, what the message says, and place the DOOM.WAD into ~/Library/Application Support/gzdoom/, but who is ever going to find that folder again.

Looking at the file ~/Library/Preferences/gzdoom.ini will show us all the directories GZDoom actually searches for WADs.

# These are the directories to automatically search for IWADs.
# Each directory should be on a separate line, preceded by Path=
[IWADSearch.Directories]
Path=.
Path=$DOOMWADDIR
Path=/Users/my_user/Documents/GZDoom
Path=/Users/my_user/Library/Application Support/GZDoom
Path=$PROGDIR
Path=/Library/Application Support/GZDoom

Add the path we created earlier when extracting the DOOM.WAD. Make sure to use the long form, without the ~/ as a shortcut for your user’s directory, and replace your username.

[IWADSearch.Directories]
Path=/Users/my_user/doomwads
...

Now run GZDoom from Spotlight or the Applications window. It should load up Doom. Great!

OK, cool, Doom is running. What about mods and custom WADs? For example the super cool campain SIGIL, created by John Romero himself to celebrate Doom’s 25 anniversary.

Download SIGIL, it’s free. Place the WADs in your custom folder ~/doomwads. Now run GZDoom and enter the file’s location as an optional parameter down below using the flag -file.

Use the custom WAD’s location as an additional parameter
Use the custom WAD’s location as an additional parameter

You can also do that from the terminal, using this command:

/Applications/GZDoom.app/Contents/MacOS/gzdoom -file ~/doomwads/SIGIL_v1_21.WAD

That’s it. Rip and tear!


Calendar Posted:
Person Posted By:
Folder Open Categories: Gaming