sitebackground
Return to Linux Compatibility Reports

Darksiders:

Rating: Silver
Release(s) Tested: Steam
Application Version: Original (not Warmastered!)
WINE/Proton Version: GE-Proton 8.1
Test Scope: Entire single-player compaign
Ashlands soul farming (see Notes below)
Input Method: Controller
Launch Options: taskset -c 0 %command%
Date of Report: 31 May 2023

Summary

This game requires some work to get running, and is stuttery throughout, but remains an enjoyable experience.

Installing & Running

Install the game through Steam and attempt to run it once, then quit the game (it doesn't matter if the game crashes). Then, open up a terminal and run the following command:

protontricks 50620 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47

To enable video playback, refer to the guide here. Specifically, I did the following:

  1. Download the MF codecs from here: https://github.com/z0z0z/mf-installcab and decompress the folder.
  2. (If subsequent steps do not run due to Python errors) Rename all references of python2 to python within the file install-mf-64.sh.
  3. Run the following command within the unpacked MF directory, adjusting your Proton and Steam folders as needed:
    PROTON=~/.steam/debian-installation/compatibilitytools.d/GE-Proton8-1 WINEPREFIX=~/.steam/steam/steamapps/compatdata/50620/pfx ./install-mf-64.sh -proton
  4. Download the Lutris msplat.dll from https://lutris.net/files/tools/dll/mfplat/x32/mfplat.dll and place it in your main Darksiders game folder.

Doing the above should allow videos to play normally (if not, there are many other approaches to installing MF on https://www.protondb.com/app/50620; fixes for Warmastered may also work).

However, you may still encounter an issue in which the videos do not have music or certain sound effects (easiest way to check: all of the intro logo videos should have sound effects—if they are silent, your game is encountering this exact issue). The problem is caused by Steam's shader precaching, which attempts to transcode the cutscene audio (and unfortunately, doesn't do a very good job of it).

Although disabling shader precaching can technically solve this issue, this comes at the expense of making the game even more stuttery than it already is. Also, you can't disable precaching for just one game, so other games may suffer as a result. My solution is to do the following instead:

  1. Go to your shader cache folder for the game (this is typically found at steamapps/shadercache/50620). If you don't see such a folder, make sure you have launched the game at least once.
  2. Within the fozmediav1 folder, add .BAK to the extension of any files within (you can also just delete them).
  3. Make this folder read-only via the following terminal command: chmod 400 fozmediav1.

After doing the above, Steam will be unable to write its transcoded audio files to the shader cache, and cutscene audio should work correctly.

Results & Issues

Although the game was playable from start to finish, it was very stuttery at times. I identified two performance alternatives:

  1. (Out-of-box) The game occasionally stuttered when moving the camera in combat, especially during boss fights, and also when turning around corners. Loading of new areas was generally smooth.
  2. Combat stutter was greatly reduced (but not eliminated) by restricting the process to a single CPU core via taskset -c 0 %command%. However, the game stuttered heavily when loading new zones; the worst being a 1.5 second "freeze" when moving from Scalding Gallow to the Broken Stair. These stutters seemed to mellow out as I progressed through the game.

It was impossible to entirely eliminate stutter, but I recommend alternative #2 as the stutter during combat in #1 was too distracting and made free-aiming difficult.

All prerendered cutscene videos played correctly after the above fixes. However, there were minor audio artifacts at the start and end of all videos.

My screen periodically locked itself or went to sleep while playing on a controller in this game (strangely enough, this never occurred for me in other controller-based games like Dark Souls). Installing joystickwake fixed this.

Notes

There is a well-known farming technique in the Ashlands that involves spawning dozens or hundreds of enemy riders, then luring them into a small area to obtain large amounts of souls and weapon experience. This is very taxing on game performance in Windows and can produce crashes if too many enemies are spawned at once.

I used the above method to bring all three weapons to full experience and farm 60,000 souls over several hours without issues on Linux. The game became extremely stuttery when doing this, but was comparable to what can be observed on Windows during the same test. No crashes occurred; the largest single hit multiplier I observed during testing was x261.