Doom Runner is a preset-oriented graphical launcher designed to streamline access to various ported Doom engines such as GZDoom, Zandronum, and Crispy Doom. It simplifies managing complex modifications by allowing users to create named presets for different configurations, enabling quick switching between setups.
Key Features:
Preset Management: Organize and switch between multiple Doom modifications with a single click.
Multi-engine Support: Works seamlessly with popular Doom source ports.
Drag-and-Drop Functionality: Easily add or reorder files within mods.
Theming Options: Choose between light and dark themes for optimal visual comfort.
Audience & Benefit:
Ideal for Doom enthusiasts who want to quickly access their favorite modifications across various engines. It reduces repetitive setup tasks, making it easier to explore different mods without additional configuration.
Doom Runner can be installed via winget, offering a seamless integration into your system.
README
Doom Runner
Doom Runner is yet another launcher of common Doom source ports (like GZDoom, Zandronum, Crispy Doom, PrBoom, ...) with a graphical user interface, written in C++ and with the help of the Qt framework. It is designed around the idea of presets for various multi-file modifications (Brutal Doom with mutators, Project Brutality with UDV, Complex Doom Clusterfuck, ...) to allow one-click switching between them and minimize any repetitive work.
First you perform an initial setup, setting up the paths and adding all your Doom engines and IWADs.
Then you create named presets for all your favourite modifications and assign them an engine, an IWAD and mod files.
If you wish to play multiplayer or jump into a map directly, you can do so in the second tab.
And now the launcher even has a dark theme!
Features
Unlimited number of named presets switchable with a single-click
Lists of IWADs and Map packs are automatically synchronized with the content of a selected directory
Drag&Drop for easy adding of files or re-ordering them
Ability to quickly tick or untick any files to load without the need to remove and re-add them
Double-clicking on an WAD file will display the content of an equally named TXT file if it exists
Ability to start a multiplayer game on LAN
Ability to directly start a selected map, load selected save or record/replay a demo
DM flags and Compatibility flags calculator with tooltips from official ZDoom wiki
Ability to automatically put save files, demo files or screenshots in a directory named after the selected preset
Ability to filter the saved presets using a search phrase or regular expression
Choice between light and dark themes that can follow system preferences
Advantages over other launchers
Compatible with the most commonly used source ports:
GZDoom, Zandronum, Chocolate Doom, Crispy Doom, PrBoom, Eternity, Woof, DSDA-Doom, ...
... and support for more can be easily added if requested
Runs on Windows, Linux and MacOS (it reportedly works even on Steam Deck, although that's not officially supported)
Does not require any special runtime like .NET or JRE
Disadvantages over other launchers
Does not have any browser or downloader of known mods.
You must find the mods, download them, and add them to the launcher by yourself.
Cannot show public multiplayer servers.
You can join a server only by entering its hostname or IP address.
Project's state
The major development has ended. My passion for this project is dry, and I have to sort out other things in my life.
I don't plan to add any big new features or do any major reworks. I'm only going to fix reported bugs and maybe do some small usability improvements.
However, the code is very well-documented and anyone is welcome to take over and continue the development on his own.
Download
Pre-compiled executables for different operating systems can be found on release page
32-bit Linux build is currently not supported because I don't have enough space on disk to install yet another operating system. But you can always build it yourself, on Linux it's pretty easy, see HowToBuild.md.
For Windows, I only provide a statically linked executable because installing the Qt DLLs required to run this program is too much work, and it's easier to have everything bundled together.
How to install and run
Windows
The DoomRunner.exe bundles everything inside itself. Just extract it into some directory and it is good to go. Putting it to Program Files is also supported, the data files will then be stored in %AppData%\DoomRunner.
Scoop
For users of Scoop, thanks to sitiom it is now available in the games bucket:
scoop bucket add games
scoop install doomrunner
Linux
On Linux you have few options.
Use the AppImage (recommended)
The release page contains a file with an .AppImage suffix. This application bundle is designed so that you can just drop it anywhere on your drive and run it right away (the same way as a statically linked executable). Its data files will be stored in the standard location for data of your distribution (commonly ~/.local/share/DoomRunner).
Install it via Flatpak
Doom Runner can be installed via Flatpak from this link:
Arch Linux users can leverage AUR to install Doom Runner via package manager from this package.
The AUR wiki page contains instructions on how to do it.
Install it from the provided .deb package
Debian and Ubuntu users can install Doom Runner from the .deb package on the release page. Download it and install it using the following command:
sudo dpkg -i DoomRunner-<...>.deb
Install on NixOS
Thanks to Keenan Weaver, NixOS users can install Doom Runner package using the following instructions.
via the package manager
nix-env -iA nixpkgs.doomrunner
via the configuration file
Add one of the following to your configuration.nix
environment.systemPackages = with pkgs; [
doomrunner
];
or
users.users.yourUserName.packages = with pkgs; [
doomrunner
];
Rebuild the system with nixos-rebuild
Install manually
Extract the executable in where you usually put them, commonly /usr/bin or /opt/DoomRunner.
Then you need to install the following shared libraries to make the app run.
libqt6core
libqt6gui
libqt6widgets
libqt6network
Please note that in different distributions the libraries might have slightly different names, for example, in Ubuntu 24 LTS they are called libqt6core6t64, libqt6gui6, libqt6widgets6, ...
Use your distribution package manager to find and install those
Ubuntu: sudo apt install libname
Arch: pacman -S libname
...
or use some graphical package manager like, for example, Synaptic Package Manager
The executable was built in Kubuntu 24.04 LTS, so there is a chance that it will not find the libraries in other distributions. In that case you will need to build it yourself.
Additionally to the executable, you can also install the desktop file and icons located in the Install directory. You can take a look at the install script to see how it's done on Ubuntu.
How to build (and develop)
Instructions for building and developing this application are now in HowToBuild.md.
The use of Qt
This application was written with the help of the Qt framework. Its license requires me to publicly acknowledge using it and provide access to its source code, which can be found here: https://github.com/qt/qtbase. The exact version of Qt with which this application was built is not fixed and can vary based on your OS distribution or package repository. It should work with anything from 5.15 to the latest 6.x version.
Reporting issues and requesting features
If you encounter a bug or just want the launcher to work differently, you can either create an issue here on GitHub (the preferred way) or reach me on email youda008@gmail.com or on Discord as Youda008.