Worms W.M.D

Worms W.M.D

Not enough ratings
Worms W.M.D. for Linux and Steam Deck
By Alexis
Worms WMD was written and released an age ago, thankfully with native Liunux support. However the libraries the game depends on are out of date and retired on many distributions, this describes how to get around that.
   
Award
Favorite
Favorited
Unfavorite
TL;DR
Open the game folder
Either through the cog or right-click menu, go to Properties, and Open Game Directory.

For Steam Deck you will want to switch to Desktop mode. Use the Power menu, from there select "Switch to Desktop Mode". Make the changes there, then you can run the game either from Game mode or Desktop mode.

Edit the Run.sh file
Overwrite the contents with the following text
#!/bin/bash #Updated Worms WMD Run.sh by sxiii (https://gist.github.com/sxiii/9d9b8435fd343b2024b16b8cbe86a69e) export LC_ALL=C export LD_LIBRARY_PATH="/usr/lib:/usr/local/lib" export LD_PRELOAD="$( printf "%s " ~/.steam/steam/steamapps/common/WormsWMD/lib/libQt5*.so* \ ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3 \ ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 )" chmod a+x ./Worms\ W.M.Dx64 ./Worms\ W.M.Dx64

The code originates from this gist guide by sxii[gist.github.com].

Run the game
Try running the Run.sh via your terminal in order to have access to some degree of error reporting. But it probably will work.

If it fails. try installing this
First, if you're on an Arch-based distribution like Steam Deck - make sure you follow part 1 of the gist guide linked above.

Second, if you're on a Debian-lineage distribution like Ubuntu or Pop!_OS then follow the instructions linked here[askubuntu.com].

GUI method
  1. Open this link, it will download a file; http://mirrors.kernel.org/ubuntu/pool/main/libi/libidn/libidn11_1.33-2.2ubuntu2_amd64.deb
  2. Click the file and install it using your package manager GUI

Terminal (CLI) method
  1. Open up your terminal
  2. Run the following commands separately
  3. sudo apt update
  4. cd ~/Downloads
  5. sudo apt install ./libidn11_1.33-2.2ubuntu2_amd64.deb
The why
Could we not just switch to Proton?
Rather than downloading bulky Windows files and running a Windows shim, which impacts performance, we can just make a tiny edit to the game config files to get the most out of the game and your lovely potato.

But why does this problem exist?
Binaries go out of date. We use "shared object" (.so) naming conventions to track versions. When an object gets updated to a version that's not backward-compatible we update the file name. So libidn.so.11 and libidn.so.12 are not compatible, this example suits us because libidn.so.11 has been retired and can't be installed normally, whereas if you install libidn12 you get the most recent one.
Wikipedia link (Soname)[en.wikipedia.org]

Can we manually install old libraries?
Yes but:
  • You open yourself up to security threats
  • You have to go search for random files on the internet rather than relying on your package manager/store
  • It's an endless task of installing endless junk
Better to find ways around it.
Credits and thanks
1. sxiii
Massive thanks to sxiii at github for creating this snippet that describes the issue, provides a couple of fixes to resolve it. Their research is linked here;
https://gist.github.com/sxiii/9d9b8435fd343b2024b16b8cbe86a69e

2. Grachechkovski
This person directed us to the correct answer via ProtonDB, thanks buddy!
https://www.protondb.com/app/327030#SmXOt2A57J

3. nos
Thanks to nos for describing how to understand .so numbering here;
https://stackoverflow.com/a/7553344

4. karel
Thanks to karel for giving a pointer that I followed then learned from which was how to download old archived .so files. This helped explain why this is a bad idea through practice;
https://askubuntu.com/a/1477276
3 Comments
Romactu 20 hours ago 
I've been check on that, I have to download all of the obsoleted requirement from a different repositories and there are a lot of them that I have to do such a thing which not only it can be security risk depending what they're up to, but it will also take all day/night for me to do so (I have no time on any of that and never would).

So thanks for letting know about the troubleshoot.
Alexis  [author] 20 hours ago 
Hello Romactu, can you expand on what you're having trouble with?
It can help to run ‘Run.sh’ in the terminal from the game directory and see if any errors crop up
Romactu May 5 @ 7:50am 
Didn't work for me, 😢 sorry.