DOOM + DOOM II

DOOM + DOOM II

Not enough ratings
Linux Set-up for Ultimate Doom with GZDoom
By Fluffy🔒
A quick and easy guide to get users setup and ready to play Ultimate Doom on GZDoom.
In this guide we go over the following:
  • Downloading GZDoom
  • Creating a Shell script file
  • Making steam use the script file
  • More things to do... (Including adding Sigil / Sigil II)
GZDoom is a popular choice to use as it benefits from an active community, modding support, modern hardware support, and many other things including in-depth graphical options. To really make your Doom experience truly unique to you.

Doing it this way also keeps the steam overlay in place and shows you as playing the game on steam! :0
   
Award
Favorite
Favorited
Unfavorite
Downloading GZDoom
Downloading GZDoom should be fairly straightforward depending on which distro you use. Below I will go over the basics of what you need to do to download GZDoom:

Opening the Terminal
So if you're new to Linux, you may not be aware of how to open a terminal window, or even why we need to. We are using the terminal as it is the quickest and easiest way to get what we need done. For ease I will go over the most common ways to open your terminal window:
  • CTRL + ALT, and tapping T (This will be the most common)
  • Super(Windows Key) + T
  • Super(Windows Key) + SPACE, then type terminal in the search box tapping enter to open it
  • Right Click in a window or on the desktop and look for an option similar to "Open Terminal Here"
Using one of these options should have opened a terminal screen and now we're ready for the next section.
Downloading GZDoom
Again depending on the distro you use, you will have different commands to run here but don't be scared, it is super easy ^~^
What we are going to do is download and install GZDoom automatically using the distros built in package manager. I have listed commands below for ease:
  • For Arch (using pacman):
    For arch we use "pacman", I myself use arch and below is the command:
    sudo pacman -S gzdoom
    It should then show something similar to this:
    Just type 'Y' and enter and you're done :3

  • For Debian / Ubuntu (using apt):
    For Debian / Ubuntu based distros you use the 'apt' package manager, below is the command:
    sudo apt install gzdoom
    Just follow the instructions and you will be fine :3

  • For Fedora (using dnf):
    For Fedora based distros you use the 'dnf' package manager, below is the command:
    sudo dnf install gzdoom
    Just follow the instructions and you will be fine :3

  • For OpenSUSE (using zypper):
    For OpenSUSE based distros you use the 'zypper' package manager, below is the command:
    sudo zypper install gzdoom
    Just follow the instructions and you will be fine :3

    And with that done we can move on to the next section ^~^
Creating a Shell Script File
Now this sounds complicated, but honestly it isn't. What we are going to do is make a .sh file, for prior windows users think of it as similar to a .bat (batch) file.

Text Editors
So just like the last section you will have a different text editor, (again for prior windows users think notepad here) to create the shell script file, this mainly depends on the 'DE' or Desktop Environment, that you use. Below I have listed the most common:
  • For KDE, we will be using 'Kate'
  • For Gnome, we will be using 'GEdit'
  • For XFCE, we will be using 'Mousepad'
  • For MATE, we will be using 'Pluma'
  • If you have none of these you may have 'Leafpad'
  • If you don't have any of the above or are feeling adventurous you can use 'GNU Nano' it is terminal based but can be a bit unintuitive.
  • Or if like me you have your own preferred text editor, use that ^~^
And that is where the differences end, now lets get to making this file :3

Shell Scripts

This is what our shell script file will look like, or be at least very similar to.
Firstly here's the code:
#!bin/bash # Command to run: gamemoderun gzdoom -iwad "/path/to/your/DOOM.WAD"
Now lets break it down so we know what we've just done.
  • The Shebang line:
    The Shebang line, weird name.. but anyways, this is this line:
    #!bin/bash
    All we've done here is tell the computer what code to expect next, in this case bash. This allows the computer to process the commands correctly. Bash script is just what you would use in your terminal window, but we don't want to have to type this out every time we want to play Doom.

  • Comments:
    # Command to run:
    The next typed line is a comment. The '#' symbol is used to denote a comment, making it non executable code. Primarily used to tell others what your code does, or in my case remind me what I was doing X3

  • The Executable Code:
    So in this section we have a bit to explain..
    gamemoderun gzdoom -iwad "/path/to/your/DOOM.WAD"
    • Game Mode:
      You may not have this installed on your system, the easiest way to check is to open a terminal (see above) and to type 'gamemoderun'. If you do have it installed its well worth putting it in the command. It does quite a lot to help your computer play nice with games, more than I can explain here. If you'd like to know more click the link below:
      Github - Feral Interactive 'Game Mode'[github.com]
      It also includes install instructions for various distros too ^~^

    • GZDoom
      Here we tell the computer we want to run GZDoom.. simple!

    • GZDoom Flags
      This next section is where we tell GZDoom exactly how we want it to load, in this case just for a basic set-up we will just specify the .wad file that we want to load. For this just use steam to open the files location and it should be inside a 'base' folder. Copy the file location, and next to the '-iwad' flag paste your location, including DOOM.WAD at the end, then wrap the whole address in double quotes, as seen in in the image above.
Once you've done the script file, save it with the .sh file extension, and save it in the directory where Ultimate Doom is located. Only one last step for our script file, which should be easy to do.

Making the Shell Script Executable
This is an essential step, this is so the script file can be executed similar to a program. It is essential but also very quick. There are two ways to achieve this and we will go over both.
  • Using the DE WM GUI
    Here we will go over the easy way for users, who aren't quite as familiar with terminal commands, we will use the desktop environments window manager graphical user interface or DE WM GUI lol.
    So open the script files location as to wherever you saved it, right click on it and you should have something similar to the following pop up:

    Navigate to the 'Permissions' tab at the top, and find the checkbox for 'is executable', click OK, and you're done.

  • 'chmod' Command
    If you cant do the above or are more comfortable using the terminal, we can go over the 'chmod' command. We first still need to open the script files location, and then right click on the window and find 'Open Terminal Here' or similar option. Then we enter the following:
    chmod +x UltimateDoom.sh
    Captilisation is extremely important, as these commands are case sensitive. But you should have the following:

    Tap enter to execute the command, and we are done ^~^
We can now move on to making steam use this script file to load GZDoom.
Making Steam Use the Script File
Now we get on to the bit where we direct steam to use the shell script file we just wrote. This is the easy bit ^~^

Launch Options
So what we need to do is edit the launch options for Doom, First of all we need to right click the 'Doom (1993)' entry, and select properties. You will then be greeted with the following:

At the bottom of this window you will see a small text box, it is in this text box that we tell steam what to do.

As you can see in the image above we need to put in the following:
"/path/to/your/UltimateDoom.sh" %command%
So what you need to enter is the path to where you saved your shell script file, including the file, wrapped in double quotes. This is the followed by '%command%'.

Once you have done this, exit the properties window, and we can move on to the final step.

Launching Doom(1993)
Following on from the step above we now need to hit play on Doom(1993), to which you should see the following popup:

Leave the top one selected, and make sure to check the box for 'Always use this option'

And with that you are done, it should now load up GZDoom with the UltimateDoom wad.

Check below for some more things we can do ^~^
More Things To Do...
Here is where we get to play around a bit with extras we can add to make our Doom experience better, this section will show you how to add mods to work with GZDoom, and to make a small launcher for adding map packs.

The '-file' Flag
Similar to how we told GZDoom about which .wad file to load, we can also tell it to load mods for us.

#!bin/bash # Command to run gamemoderun gzdoom -iwad "/path/to/your/DOOM.wad" -file "/path/to/your/doom/mod.pk3"
As you can see above you can have a number of different mods, so long as they play nice with each other :3

You can also specify different wad files to open if you say download a map pack, just be sure to add the map pack wad file to the -file flag, and not the -iwad flag ^~^

Let's Make a Launcher
As you are no doubt aware John Romero released 'official' addon episodes to Doom, called Sigil, and Sigil II. How about we make a launcher for them and Ultimate Doom?

For this we will use YAD (Yet Another Dialog) as it seems to play nice the most with proton.

Below is the code for the launcher:
#!/bin/bash # Show dialog with options and execute command based on selection selected_option=$(yad --list --title "Welcome to Ultimate Doom" --column "WAD File" "Ultimate Doom" "Sigil I" "Sigil II" --width=300 --height=200 --text "Select the WAD you would like to play:") # Trim trailing '|' character (if present) selected_option="${selected_option%|}" # Debug: Print the selected option echo "Selected option: $selected_option" # Execute command based on selection case "$selected_option" in "Ultimate Doom") gamemoderun gzdoom -iwad "/path/to/your/DOOM.WAD" -file "/path/to/your/mod.pk3" "/path/to/your/mod.pk3" ;; "Sigil I") gamemoderun gzdoom -iwad "/path/to/your/DOOM.WAD" -file "/path/to/your/SIGIL_v1_21.wad" "/path/to/your/mod.pk3" "/path/to/your/mod.pk3" ;; "Sigil II") gamemoderun gzdoom -iwad "/path/to/your/DOOM.WAD" -file "/path/to/your/SIGIL_II_V1_0.WAD" "/path/to/your/mod.pk3" "/path/to/your/mod.pk3" ;; *) echo "No option selected or dialog closed." ;; esac
Lets briefly go over the code, and how it all works:
  • # Show dialog with options and execute command based on selection
    In this section we have declared a 'variable' called selected option, this uses YAD to build us our 'launcher' window; which will be a small list where we select the WAD we want to play, and then click OK. The window's title will be 'Welcome to Ultimate Doom', and there will be a bit of text asking us to select what WAD we want to play.
  • # Trim trailing '|' character (if present)
    When selecting options this way, we may encounter a '|' or vertical bar. We need to get rid of this so we can compare the values later to make sure they match.
  • # Execute command based on selection
    Now we compare our variable with some set values, each corresponding to whichever WAD we want. We then use a launch command similar to what we used earlier to launch just Ultimate Doom.
And if all goes well, you should have a spanking little launcher like this: (color may vary)

Edit the script to however you want, have fun with it, add different map packs, and wads, go mad ^~^

With that being said, have fun stomping demons on mars and hell, and below I have some links for modding websites for you to browse.

Sigil - Romero[romero.com]
DoomWorld[www.doomworld.com]
ZDoom[forum.zdoom.org]

Also be sure to check out my guides for Doom II, and Final Doom:
https://gtm.you1.cn/sharedfiles/filedetails/?id=3158845933

https://gtm.you1.cn/sharedfiles/filedetails/?id=3158894025