How to run Dark Salvation (2009) on Linux
While looking for first-person shooters that my decidedly non-gaming laptop could handle, I stumbled upon Dark Salvation, a first-person shooter based on idTech 3. Interestingly, even though I was still quite into gaming when it came out in 2009, I completely missed this at the time.
Built with the legendary id Tech 3, Dark Salvation is a dark and eerie action / horror game that will have you on the edge of your seat with tons of monsters, puzzles, weapons and magic spells.
It's not as old school and Painkiller-like as the visuals suggest. There are environmental puzzles and you spend a lot more time solving these than trying to kill enemies. It's also hard, think Souls-like. Saving is only done at the start of the level, and there are no checkpoints. But as you persist, and start to get familiar with what the game throws at you, there's definitely fun to be had.
By now, Dark Salvation is over 16 years old and available as a free download on itch.io. It's a Windows-only game, but luckily someone made a Linux port based on lilium. This is how I set it up:
1. Download the game
- Download the game: Dark Salvation on itch.io. Donating is optional but encouraged. Make sure you get all three .rar files.
- Extract these files to a folder of your choice on your hard drive. I went with
/home/<username>/Games/Dark Salvation. Note that the .rar files are linked, so extracting the first file will extract from all three archives. - This main folder should have the following sub-folders:
Dark Salvation,extras. Note that from here on out, withDark SalvationI will refer to this sub-folder.
Dark Salvation/
โโ Dark Salvation/
โโ extras/
โโ readme.txt
2. Compile a linux port
To run the game, we are going to use lilium-salvation, a fork of ioQuake3, an idTech 3 source port.
- Open a terminal in the main folder and run
git clone https://github.com/clover-moe/lilium-salvation. This will clone the code to alilium-salvationsub-folder.cd lilium-salvationto enter this folder. - Run the make-script for Linux by running
make-linux-portable.sh x86_64. Replacex86_64withx86if you're running a 32-bit system. - Copy
liliumsal.x86_64,liliumsal-renderer-opengl2_x86_64.soandliliumsal-renderer-opengl2_x86_64.sofromlilium-salvation/build/release-linux-x86_64to theDark Salvationfolder.
Dark Salvation/
โโ Dark Salvation/
โ โโ darks/
โ โโ manual/
โ โโ [...]
โ โโ liliumsal-renderer-opengl1_x86_64.so
โ โโ liliumsal-renderer-opengl2_x86_64.so
โ โโ liliumsal.x86_64
โโ extras/
โโ lilium-salvation/
โโ readme.txt
3. Configuration
By default, Dark Salvation only supports a limited set of screen resolutions. If you're running a 16:9 or 16:10 screen, you'll want to change the configuration.
There are multiple ways to go about it, but the quickest way is to:
- Create a file named
autoexec.cfginDark Salvation/darks/, and add the following content:
seta r_mode -1 // allows custom resolutions
seta r_customwidth 1920 // your custom screen width
seta r_customheight 1200 // your custom screen height
seta r_fullscreen 1 // set to 0 for windowed mode
seta r_swapinterval 1 // Vsync, keep at 1 to prevent screen tearing, set to 0 to turn off
I use a Dark Salvation Launcher that I've written to change these settings.
4. Run the game
- Run
liliumsal.x86_64as an executable to start Dark Salvation. Enjoy!