Installing QC:DE on Linux

In this guide we’ll walk through the basic steps of extracting the QC:DE Linux package and installing missing dependencies.
First of all, we need to grab the correct build, so head on over to the QC:DE website and download the package.
Please follow the steps in their numbered order and do not skip forward.

1. Extracting the package

While the steps in this chapter can be performed using your distribution’s GUI, we will focus on the command line for this guide.
Assuming you have downloaded the QC:DE tarball to your Downloads directory, open a terminal window.

Create a new directory for the game and enter it:

mkdir -p ~/qcde && cd ~/qcde

Then extract the archive located in your Downloads:

tar -xzf ~/Downloads/QCDE_v3.0.tar.gz

In case of trying to run any of the scripts in your QC:DE directory, you get a permission denied error message, execute the following command:

chmod +x *.sh

2. Installing dependencies

If you attempt to run the game in single-player mode now, you may encounter an error message similar to this:

./q-zandronum: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

This indicates that the necessary software to run the game is not yet installed on your system. Fortunately, resolving this issue is usually straightforward. First, we need to make sure that the system’s package database is up to date, then install the required packages.

Debian and Debian based distributions (Ubuntu, Mint, Pop!_OS)

sudo apt update
sudo apt install libbz2-1.0 libgl1 libglib2.0-0 libglu1-mesa libgtk2.0-0 libmpg123-0 libopenal1
libsdl1.2-compat-shim libsndfile1 libssl3 zlib1g libqt5widgets5 libqt5multimedia5 libqt5xml5

Arch and Arch based distributions (Manjaro, EndeavourOS)

sudo pacman -Fy
sudo pacman -S sdl12-compat sndio qt5-multimedia

Additionally, the GTK2 package is needed from the Archlinux User Repository. You can use your preferred AUR helper tool to make installing easier. Futrher information about using AUR can be found in Section 5 of this guide.
In this example, we are going to use yay, which comes pre-installed on some distributions, or may be readily available from the official repositories.

sudo pacman -S yay
yay -S gtk2

SteamOS, Bazzite, and other immutable distributions

Since there is no easy way to install dependencies, the simplest method of getting the game work, is to install the Windows version using Lutris.
A detailed walkthrough on the topic, can be found at the end of this guide.

OpenSUSE

sudo zypper ref
sudo zypper in libSDL-1_2-0 libGLU1 libQt5Multimedia5 libQt5Xml5

Fedora

Unfortunately, at the time of writing this guide, Fedora’s repositories lack an sndio7 package, thus, getting QC:DE to work on this system requires a bit more tinkering, which is out of the scope of this guide. Please ask for further assistance on the QC:DE Discord server.

3. Application shortcuts

The package includes optional, but highly recommended application launcher entries to make running the game super easy.

To install the menu entries, run the following script:

./Create_Menu_Icons.sh

To remove them, run:

./Remove_Menu_Icons.sh

NOTE: It is normal on some desktop environments, that the application icon doesn’t appear next to the menu entries. This will correct itself next time you log in to your desktop.

4. Troubleshooting

With so many Linux distributions out in the world, we can’t possibly try and test all of them to make sure the dependency list provided in this guide will cover each and every one. If after installing dependency packages in step 2, the game is still missing libraries, here’s how to deal with the problem.

Arch based distributions

First, we’ll need to find out, what package contains the library we are missing. To do a search, issue the following commands:

# update the local pacman database (doing this once is enough)
sudo pacman -Fy

# do the search
pacman -F libgtk-x11-2.0.so.0

The search will return the gtk2 package, which can be installed with the following:

sudo pacman -S gtk2

In case, the search fails to return a package from your distribution’s repositories, you may need to search the Archlinux User Repository for the missing dependency.

If you try to run the game again, it will most likely still be missig more dependencies, so repeat the process detailed above until the game starts.

Debian based distributions

To search in the repositories, we’ll need a utility named apt-file. It might not come pre-installed on your OS, so if that’s the case, install it.

sudo apt install apt-file

# then download the search database
apt-file update

# lastly, we can now search for the missing dependency
apt-file search libSDL-1.2.so.0

# which will point us to the package to install
sudo apt install libsdl1.2-compat

5. Alternative solutions

Batching steps (alternative method for installing dependencies)

You can also get a list of all missing libraries and do your searches / installation in batch. The process is virtually similar in any package manager, so for this example, we’ll use pacman.

[user@EndeavourVM qcde]$ ldd Q-Zandronum/q-zandronum | grep "not found"
    libgtk-x11-2.0.so.0 => not found
    libSDL-1.2.so.0 => not found

[user@EndeavourVM qcde]$ ldd Doomseeker/doomseeker | grep "not found"
    libQt5Multimedia.so.5 => not found
    libwadseeker.so.2 => not found

ldd will sometimes not find every dependency, like on my test system, it didn’t detect libsndio.so.7.

Now we can search:

pacman -F libSDL-1.2.so.0 libgtk-x11-2.0.so.0 libsndio.so.7 libQt5Multimedia.so.5

And install in batch:

sudo pacman -S sdl12-compat gtk2 sndio qt5-multimedia

Alternative method for installing Doomseeker on Debian: DRDTeam repository

If you’d like to, you can install Doomseeker from the DRDTeam repository on Debian or a Debian based system.

To add the repository to your sources list, run the following commands:

sudo wget -O /etc/apt/trusted.gpg.d/drdteam.gpg https://debian.drdteam.org/drdteam.gpg
sudo apt-add-repository 'deb https://debian.drdteam.org/ stable multiverse'

Then install Doomseeker for Q-Zandronum:

sudo apt install doomseeker-zandronumq

Alternative method for installing Doomseeker and Q-Zandronum on Arch: AUR repository

It is possible to install both Q-Zandronum and Doomseeker from the Arch User Repository on Arch or an Arch based system.

If you are not familiar with AUR, read the Introduction manual and in case you need one, choose a helper that suits your needs.

In this example, we are using Manjaro to install an AUR helper, named Yay and then install Doomseeker from AUR.
Yay will take care of downloading the source, building the package and installing it.

Note: Compiling an application might take several minutes.

# refresh package database
sudo pacman -Fy

# install Yay
sudo pacman -S yay

# then using Yay, install Doomseeker
yay -S doomseeker

6. Installing the Windows version with Lutris

Download the WINDOWS version from https://qcde.net/

Open Lutris and click the “+” button. Choose Install Windows game from an executable

Add game to Lutris

Name the game and click Install

Name the game

Select Install once again in the next window

Choose Wine

Set an installation directory, the default will work fine

Installdir

Browse for the QC:DE installer, then click Install one last time

Browse

Proceed through the installation wizard.

In case, the desktop shortcuts created by the Windows Installer do not work, or you’d like to change whether the Lutris entry should point to Doomseeker or QC:DE Single Player:

Right click the game in Lutris and select Configure

Configure

On the Game Options tab, click ... in the Executable line and browse for either single player, or the server browser

Change the executable

Now, if you right click the game and select Create desktop shortcut, this new desktop shortcut will work fine.

Addidional support

QC:DE Discord
Doomworld support thread