Skip to content

Downloading Source Ports

A source port is a modern engine that runs classic Doom and Doom-engine games. The original doom.exe is long obsolete; ports like UZDoom and GZDoom keep the games playable on current hardware, with higher frame rates, widescreen resolutions, mod support, and modern operating systems.

This guide covers the quickest way to get one, and how to grab a specific version when you need it.

The easy way: download inside UAC Launch Control

Section titled “The easy way: download inside UAC Launch Control”

The app can fetch a source port for you. Open Settings → Source Ports and click Download. You get the latest releases of UZDoom, GZDoom, and Helion, filtered to your platform. Pick one and the app downloads, extracts, and registers it. You are ready to launch.

This is the recommended route for most people. The rest of this guide is for when you want something the in-app picker does not offer, such as a specific older version.

Helion is a source port built from the ground up in C#. It has a Vulkan renderer, performs well on modest hardware, and has experimental mod compatibility.

Grab it from the Helion releases page on GitHub.

PlatformPackage
WindowsHelion-win-x64.zip
LinuxHelion-linux-x64.tar.gz

UZDoom is the most actively developed source port. It is a fork of GZDoom that adds Vulkan rendering and experimental features, and follows its own rapid release cycle.

Head to the UZDoom releases page on GitHub. The latest release is pinned at the top with download assets for each platform.

PlatformPackage
Windowsuzdoom-*-windows.zip
macOSuzdoom-*-macos.dmg
Linuxuzdoom-*-linux-x86_64.tar.xz

UZDoom does not keep a directory archive of every build. To get a specific older version:

  1. Go to the UZDoom releases page.
  2. Scroll down the list to find the release you want (newest first).
  3. Click the ▼ Assets disclosure triangle to expand the download list.
  4. Download the archive for your OS.

Older releases are fully accessible from GitHub, just not organized in a browsable directory. Each release tag contains the complete set of binaries published at the time.

GZDoom has been the standard source port for years and is what most existing mods target. Development has slowed, but it stays essential because many classic mods require a specific older version to work correctly. GZDoom’s maintainers keep an archive of every release going back years.

Grab it from the GZDoom releases page on GitHub:

PlatformPackage
Windowsgzdoom-xx-x-x-Windows-64bit.zip
macOSgzdoom-xx-x-x-macOS.dmg
Linuxgzdoom-xx-x-x-Linux.tar.xz (AppImage also available)

GZDoom’s developers run a full directory listing of every binaries build going back years on their official site:

https://zdoom.org/files/gzdoom/bin/

This is the place to go when:

  • A mod requires a specific older version.
  • A newer release introduced a regression on your setup.
  • You are testing across versions for compatibility.

The directory lists every numbered release as a subfolder (e.g. g4-12-2/, g4-11-3/, g4-10-0/). Inside each you will find the same platform packages as the latest release. Browse to the version you need, download the archive, and extract it anywhere on your system.

Tip: You can keep multiple versions of both UZDoom and GZDoom installed at the same time. Add each as a separate source port in UAC Launch Control and pick which one to use per protocol. See the Manage Source Ports guide.

Once downloaded, extract the archive and look for the source port executable:

PlatformExecutable
Windowsgzdoom.exe or uzdoom.exe
macOSGZDoom.app or UZDoom.app
Linuxgzdoom binary (from the extracted tarball) or the .AppImage

On macOS, you may need to right-click the .app and select Open the first time to bypass Gatekeeper. On Linux, you might need to make the binary executable with chmod +x gzdoom first.

Once verified, point UAC Launch Control at the executable via Settings → Source Ports (see the Manage Source Ports guide for details).