Skip to content

Instantly share code, notes, and snippets.

@sxiii
Last active May 17, 2024 21:15
Show Gist options
  • Save sxiii/9d9b8435fd343b2024b16b8cbe86a69e to your computer and use it in GitHub Desktop.
Save sxiii/9d9b8435fd343b2024b16b8cbe86a69e to your computer and use it in GitHub Desktop.
How to fix Worms W.M.D. launch on ArchLinux, Manjaro, Garuda, Artix Linux & Linux Mint

Game information Worms W.M.D.

Distribution name and version where applicable Manjaro 20.1.1 (Mikah)

Problem description Worms doesn't launch out of the box without two small tweaks. When launching Worms W.M.D. in Manjaro and Archlinux, you need to do two things:

  1. Install this apps: sudo pacman -S libcurl-gnutls libidn11 qt5-base qt5-xcb-private-headers(If you are on any other distro then Arch, you can skip this step. At least this is reported to be OK to skip for Linux Mint)
  2. Edit file "Run.sh" in Worms W.M.D. directory, usually it's located here: ~/.steam/steam/steamapps/common/WormsWMD/Run.sh, and replace it's content with this:
#!/bin/bash
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

Finally, you can launch Worms WMD either through Steam (by pressing play and choosing "Run with Run.sh", or via CLI by just ./Run.sh.

Does this issue reproduce with native Steam Yes, the issue seems like an upstream Steam Linux WMD distribution bug.

@KNejad
Copy link

KNejad commented Apr 14, 2024

@qlyoung your solution didn't work for me but the solution from @sxiii above still works for me on Arch.

Though I do see some dbus related exceptions in the log:

process 164314: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2794.
This is normally a bug in some application using the D-Bus library.

@robstarmcdonald
Copy link

Here's the new version that works for me. Not sure that it's better then the "Proton" version though, as it seems Team17 is not very eager to update the Linux version. But you can test it out :)

#!/bin/bash

export LC_ALL=C
export LD_LIBRARY_PATH="/usr/lib:/usr/local/lib"
export STEAM_ROOT=~/.steam
export PLATFORM=bin32
export STEAM_RUNTIME=$STEAM_ROOT/$PLATFORM/steam-runtime

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 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libidn.so.11 \
                "$STEAM_RUNTIME"/lib/x86_64-linux-gnu/libgcrypt.so.11 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/librtmp.so.0 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libhogweed.so.4 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libnettle.so.6 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libsndfile.so.1 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libFLAC.so.8
)"
chmod a+x ./Worms\ W.M.Dx64
./Worms\ W.M.Dx64

Hope it helps @ivdok @psmgeelen :)

It did not work for me.

@sxiii
Copy link
Author

sxiii commented May 15, 2024

I'm guessing this is very OS-dependent (library-dependent), so then we could either use a proton version (simple path) or swap OS/libraries with older ones (if our OS doesn't work/too new; harder path). Feel free to share your additions if you find out which way it works for you. Thank you all for your contributions!

@robstarmcdonald
Copy link

robstarmcdonald commented May 17, 2024

I'm guessing this is very OS-dependent (library-dependent), so then we could either use a proton version (simple path) or swap OS/libraries with older ones (if our OS doesn't work/too new; harder path). Feel free to share your additions if you find out which way it works for you. Thank you all for your contributions!

Look here then https://steamcommunity.com/app/327030/discussions/0/4353369676737256686/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment