Fedora repository for Doom stuff: Odamex, Zandronum, Doomseeker, CnDoom

I had a bit of free time over the last few days, and looked at the current state of the art for Doom on Linux. The awesome Rahul Sundaram has been looking after several Doom-related packages for a while - including the Chocolate Doom package - but there are some things that seem to be commonly used these days that we didn't have packaged. So I packaged them up, and put them in a new repository!

First up I packaged Competition Doom, which is a sort of special-purpose variant of Chocolate intended for competitive speedrunning; it's the port used for the new tables at COMPET-N. It should have no trouble getting into the official Fedora repos, and I've filed a review request, but until that gets approved, it's living in this new repository.

Then I worked on Zandronum. Zandronum is a sort of continuation of Skulltag, which was a multiplayer-focused fork of ZDoom with the GZDoom OpenGL renderer subsequently added in (I think). It seems to be the most popular port for multiplayer Dooming at present.

Its source is also...ahem...something of a mess. The licensing would give a license lawyer migraines for weeks (Zandronum's is even more of a disaster than ZDoom's, as it pulls in even more stuff). The codebase bundles an ancient copy of the LZMA SDK and links against all sorts of private symbols in it, so there's no possibility of using any kind of system-wide copy. It does the same thing with the DUMB music library, and compiles some subset of TiMidity++ straight into the executable. It uses the Mercurial metadata for the source to version stamp the network code, so you have to include all the metadata in your source tarball or else your build won't connect to any servers. There's more ickiness. If you don't understand any of the above, the executive summary is it's a mess.

But hey, I got an okay package build done, so it's living in this repository. It likely won't be able to go anywhere else, really, due to the crazy licensing (until that gets cleaned up upstream) and library bundling. It's fine for personal use, but if you have any intent to redistribute it, do check the spec file comments and references and the license files in the package.

Along with Zandronum I packaged Doomseeker, which is a server browser with a modular design that, out of the box, can find Zandronum, Chocolate, Vavoom and Odamex servers. I hadn't really looked into Odamex before, but now I look at it it seems quite nice, so I guess I'll do that next.

EDIT: I've added Odamex packages now: odamex for the client (and the launcher / server browser), odamex-server for the server.

So basically, you can enable the repo (stick the repo file in /etc/yum.repos.d) and install odamex, cndoom, zandronum and/or doomseeker, should it take your fancy. There's a sort-of convention between source ports that they look for WADs (including IWADs) in the path exported as $DOOMWADDIR, so you can set that, or point each port to your wads separately (they have their own config files and will print info on how to do it if you try and run them).

As always with Doom ports, you need an IWAD file to play anything. You can use the official IWADs from Doom (doom.wad) or Doom2 (doom2.wad) or Final Doom (also doom2.wad, but a different one), or the F/OSS-licensed IWAD Freedoom, which is packaged as freedoom; the package places its wad file in /usr/share/doom, so if you use Freedoom, point the launcher and/or port to that directory. The official IWADs are still copyrighted, if you want to use them, you must own a copy (you might have an old one lying around or you can buy them on Steam, I believe; there are instructions around the internets).

To play on an online server you need a matching IWAD, I believe; Doomseeker and Odamex will download any PWADs (mods, basically) the server uses automatically when you connect.

Happy Dooming! I'll try and keep the packages up to date, but no promises. They're not signed yet, but I'll try and change that and publish the key sometime.


Scott Dowdle wrote on 2015-08-04 17:29:
Ok, I installed doomseeker and zandronum but it can't seem to find any wad files. What other packages do I have to have installed? Or do I have to find some wads somewhere? I did set $DOOMWADDIR but that didn't seem to help. More instructions would be helpful. I guess I've been out of Doom for too long... and thanks for packing this stuff.
adamw wrote on 2015-08-04 17:51:

You need to have an IWAD - that's a main game wad. So either doom.wad, Doom2's doom2.wad, Final Doom's doom2.wad, or Freedoom. The official ones are obviously still copyright and can't be legally redistributed, if you own a copy, just point zandronum and doomseeker and/or DOOMWADDIR to wherever you keep it. (I'm planning to create a small package to set DOOMWADDIR to /usr/share/doom by default and suggest people keep IWADs there, but I haven't done it yet). If you don't have a copy of one of the Dooms, you can install the 'freedoom' package, which is a F/OSS-licensed community-built IWAD. There are a few servers which run Freedoom, though most run one of the official IWADs, usually Doom2.

subspace_is_dead wrote on 2017-07-04 18:09:
Any chance we could get a repo for 25?