You are not logged in.

#1 2025-07-17 19:10:57

AsfhtgkDavid
Member
From: Ukraine, Europe
Registered: 2025-07-17
Posts: 21

Problems with Worms WMD

I moved my pc to Arch several days ago. I decided to play Worms and installed it from steam with this fix, but I have error: "./Worms W.M.Dx64: error while loading shared libraries: libtheoraenc.so.1: cannot open shared object file: No such file or directory". So I tried `sudo ln -s /usr/lib/libtheoraenc.so /usr/lib/libtheoraenc.so.1` and `sudo ln -s /usr/lib/libtheoradec.so /usr/lib/libtheoradec.so.1`. But now I'm having another problem:
```
❯ ./Run.sh
./Worms W.M.Dx64: /usr/lib/libcurl-gnutls.so.4: no version information available (required by ./Worms W.M.Dx64)
./Worms W.M.Dx64: /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libgnutls.so.30: version `GNUTLS_3_6_13' not found (required by /usr/lib/libcurl-gnutls.so.4)
./Worms W.M.Dx64: /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libgnutls.so.30: version `GNUTLS_3_6_5' not found (required by /usr/lib/libcurl-gnutls.so.4)
./Worms W.M.Dx64: /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /usr/lib/libicuuc.so.76)
```
So what can I do?

P.S. Sorry for my English


Don't push the horses!

Offline

#2 2025-07-18 16:05:53

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,885

Re: Problems with Worms WMD

So I tried `sudo ln -s /usr/lib/libtheoraenc.so /usr/lib/libtheoraenc.so.1` and `sudo ln -s /usr/lib/libtheoradec.so /usr/lib/libtheoradec.so.1`.

Library so-names change for a reason. symlinking different versions almost never works and can cause serious problems.


The script you link to seems to be an early version, you'll need to change more things.

https://wiki.archlinux.org/title/Steam/ … orms_W.M.D has a script that worked in february 2024.
Use that as starting point .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#3 2025-07-18 17:34:50

AsfhtgkDavid
Member
From: Ukraine, Europe
Registered: 2025-07-17
Posts: 21

Re: Problems with Worms WMD

Lone_Wolf wrote:

https://wiki.archlinux.org/title/Steam/ … orms_W.M.D has a script that worked in february 2024.
Use that as starting point .

Thanks, it's help run Worms. BUT, I tried deleting my symlinks, but I ran into my first problem, so I return symlinks and got black screen after logo. Terminal output:
❯ ./Run.sh
Setting breakpad minidump AppID = 327030
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198425786745 [API loaded no]


Don't push the horses!

Offline

#4 2025-07-19 12:09:57

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,885

Re: Problems with Worms WMD

The script creates a logfile at ~/wormswmd.log , please post its contents in code tags.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#5 2025-07-19 12:20:38

AsfhtgkDavid
Member
From: Ukraine, Europe
Registered: 2025-07-17
Posts: 21

Re: Problems with Worms WMD

Lone_Wolf wrote:

The script creates a logfile at ~/wormswmd.log , please post its contents in code tags.

Hmmm now it's crashed.
Terminal output:

❯ ./Run.sh
Setting breakpad minidump AppID = 327030
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198425786745 [API loaded no]
corrupted size vs. prev_size in fastbins
./Run.sh: line 36: 122533 Aborted                    (core dumped) ./Worms\ W.M.Dx64 >> $LOGFILE

Logs:

GetCurrentDirectoryA
buffer /home/david/.local/share/Steam/steamapps/common/WormsWMD
GetCurrentDirectoryA
buffer /home/david/.local/share/Steam/steamapps/common/WormsWMD
GetCurrentDirectoryA
buffer /home/david/.local/share/Steam/steamapps/common/WormsWMD

Don't push the horses!

Offline

#6 2025-07-19 12:56:14

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,885

Re: Problems with Worms WMD

I looked at the script and it directs the worms executable to use (many) libraries provided by steam instead of system libraries.

Please install lddtree.

Comment the last line of the Run.sh script and add these two lines

lddtree ./Worms\ W.M.Dx64
find -L "$STEAM_RUNTIME" -type f -name "libtheora*.so"

Run the script and post the output.

Last edited by Lone_Wolf (2025-07-19 12:57:14)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#7 2025-07-19 13:05:05

AsfhtgkDavid
Member
From: Ukraine, Europe
Registered: 2025-07-17
Posts: 21

Re: Problems with Worms WMD

Lone_Wolf wrote:

I looked at the script and it directs the worms executable to use (many) libraries provided by steam instead of system libraries.

Please install lddtree.

Comment the last line of the Run.sh script and add these two lines

lddtree ./Worms\ W.M.Dx64
find -L "$STEAM_RUNTIME" -type f -name "libtheora*.so"

Run the script and post the output.

Do I need to delete symlinks on libtheora?


Don't push the horses!

Offline

#8 2025-07-19 13:45:33

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,885

Re: Problems with Worms WMD

Yes, that is a good idea.
The lddtree output should tell us what things are missing, the find output is to verify if steam has the right theora library or we have to provide it in another way (like an AUR package).


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#9 2025-07-19 17:46:12

AsfhtgkDavid
Member
From: Ukraine, Europe
Registered: 2025-07-17
Posts: 21

Re: Problems with Worms WMD

Lone_Wolf wrote:

Run the script and post the output.

It's all output:

./Worms W.M.Dx64 (interpreter => /lib64/ld-linux-x86-64.so.2)
    libQtSolutions_PropertyBrowser-head.so.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libQtSolutions_PropertyBrowser-head.so.1
        libstdc++.so.6 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libstdc++.so.6
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
    libQt5Widgets.so.5 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libQt5Widgets.so.5
    libQt5Core.so.5 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libQt5Core.so.5
        libicui18n.so.56 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libicui18n.so.56
        libicuuc.so.56 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libicuuc.so.56
        libicudata.so.56 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libicudata.so.56
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0
        librt.so.1 => /usr/lib/librt.so.1
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0
            libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0
    libQt5Gui.so.5 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libQt5Gui.so.5
    libQt5OpenGL.so.5 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libQt5OpenGL.so.5
    libQt5X11Extras.so.5 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libQt5X11Extras.so.5
    libQt5DBus.so.5 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libQt5DBus.so.5
        libdbus-1.so.3 => /usr/lib/libdbus-1.so.3
            libsystemd.so.0 => /usr/lib/libsystemd.so.0
                libcap.so.2 => /usr/lib/libcap.so.2
    libX11.so.6 => /usr/lib/libX11.so.6
        libxcb.so.1 => /usr/lib/libxcb.so.1
            libXau.so.6 => /usr/lib/libXau.so.6
            libXdmcp.so.6 => /usr/lib/libXdmcp.so.6
    libGL.so.1 => /usr/lib/libGL.so.1
        libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0
        libGLX.so.0 => /usr/lib/libGLX.so.0
    libz.so.1 => /usr/lib/libz.so.1
    libSDL2-2.0.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libSDL2-2.0.so.0
        libasound.so.2 => /usr/lib/libasound.so.2
        libpulse.so.0 => /usr/lib/libpulse.so.0
            libpulsecommon-17.0.so => /usr/lib/pulseaudio/libpulsecommon-17.0.so
                libsndfile.so.1 => /usr/lib/libsndfile.so.1
                    libogg.so.0 => /usr/lib/libogg.so.0
                    libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2
                    libFLAC.so.14 => /usr/lib/libFLAC.so.14
                    libopus.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libopus.so.0
                    libmpg123.so.0 => /usr/lib/libmpg123.so.0
                    libmp3lame.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libmp3lame.so.0
                    libvorbis.so.0 => /usr/lib/libvorbis.so.0
                libasyncns.so.0 => /usr/lib/libasyncns.so.0
        libsndio.so.6.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libsndio.so.6.1
            libbsd.so.0 => /usr/lib/libbsd.so.0
                libmd.so.0 => /usr/lib/libmd.so.0
        libXext.so.6 => /usr/lib/libXext.so.6
        libXcursor.so.1 => /usr/lib/libXcursor.so.1
            libXrender.so.1 => /usr/lib/libXrender.so.1
            libXfixes.so.3 => /usr/lib/libXfixes.so.3
        libXinerama.so.1 => /usr/lib/libXinerama.so.1
        libXi.so.6 => /usr/lib/libXi.so.6
        libXrandr.so.2 => /usr/lib/libXrandr.so.2
        libXss.so.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libXss.so.1
        libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1
        libwayland-egl.so.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libwayland-egl.so.1
        libwayland-client.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libwayland-client.so.0
            libffi.so.6 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libffi.so.6
        libwayland-cursor.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libwayland-cursor.so.0
        libxkbcommon.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libxkbcommon.so.0
    libpthread.so.0 => /usr/lib/libpthread.so.0
    libsteam_api.so => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libsteam_api.so
    libcurl-gnutls.so.4 => /usr/lib/libcurl-gnutls.so.4
        libnghttp2.so.14 => /usr/lib/libnghttp2.so.14
        libidn2.so.0 => /usr/lib/libidn2.so.0
            libunistring.so.5 => /usr/lib/libunistring.so.5
        libssh2.so.1 => /usr/lib/libssh2.so.1
            libssl.so.3 => /usr/lib/libssl.so.3
            libcrypto.so.3 => /usr/lib/libcrypto.so.3
        libpsl.so.5 => /usr/lib/libpsl.so.5
        libnettle.so.8 => /usr/lib/libnettle.so.8
        libgnutls.so.30 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libgnutls.so.30
            libp11-kit.so.0 => /usr/lib/libp11-kit.so.0
                libffi.so.8 => /usr/lib/libffi.so.8
            libidn.so.11 => /usr/lib/libidn.so.11
            libtasn1.so.6 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libtasn1.so.6
            libnettle.so.6 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libnettle.so.6
            libhogweed.so.4 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libhogweed.so.4
            libgmp.so.10 => /usr/lib/libgmp.so.10
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2
            libkrb5.so.3 => /usr/lib/libkrb5.so.3
            libk5crypto.so.3 => /usr/lib/libk5crypto.so.3
            libcom_err.so.2 => /usr/lib/libcom_err.so.2
            libkrb5support.so.0 => /usr/lib/libkrb5support.so.0
            libkeyutils.so.1 => /usr/lib/libkeyutils.so.1
            libresolv.so.2 => /usr/lib/libresolv.so.2
        libzstd.so.1 => /usr/lib/libzstd.so.1
        libbrotlidec.so.1 => /usr/lib/libbrotlidec.so.1
            libbrotlicommon.so.1 => /usr/lib/libbrotlicommon.so.1
    libdl.so.2 => /usr/lib/libdl.so.2
    libfmodex64-4.44.61.so => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libfmodex64-4.44.61.so
    libfmodevent64-4.44.61.so => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libfmodevent64-4.44.61.so
    libavcodec-ffmpeg.so.56 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libavcodec-ffmpeg.so.56
        libswresample-ffmpeg.so.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libswresample-ffmpeg.so.1
            libsoxr.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libsoxr.so.0
                libgomp.so.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libgomp.so.1
        libva.so.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libva.so.1
        libzvbi.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libzvbi.so.0
            libpng12.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libpng12.so.0
        libxvidcore.so.4 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libxvidcore.so.4
        libx265.so.79 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libx265.so.79
            libnuma.so.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libnuma.so.1
        libx264.so.148 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libx264.so.148
        libwebp.so.5 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libwebp.so.5
        libwavpack.so.1 => /usr/lib/libwavpack.so.1
        libvpx.so.3 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libvpx.so.3
        libtwolame.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libtwolame.so.0
        libtheoraenc.so.1 => None
        libtheoradec.so.1 => None
        libspeex.so.1 => /usr/lib/libspeex.so.1
        libsnappy.so.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libsnappy.so.1
        libshine.so.3 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libshine.so.3
        libschroedinger-1.0.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libschroedinger-1.0.so.0
            liborc-0.4.so.0 => /usr/lib/liborc-0.4.so.0
        libopenjpeg.so.5 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libopenjpeg.so.5
        libgsm.so.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libgsm.so.1
        libcrystalhd.so.3 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libcrystalhd.so.3
        liblzma.so.5 => /usr/lib/liblzma.so.5
    libavformat-ffmpeg.so.56 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libavformat-ffmpeg.so.56
        libssh-gcrypt.so.4 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libssh-gcrypt.so.4
            libgcrypt.so.20 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libgcrypt.so.20
                libgpg-error.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libgpg-error.so.0
        librtmp.so.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/librtmp.so.1
        libmodplug.so.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libmodplug.so.1
        libgme.so.0 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libgme.so.0
        libbluray.so.1 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libbluray.so.1
            libxml2.so.2 => /usr/lib/libxml2.so.2
                libicuuc.so.76 => /usr/lib/libicuuc.so.76
                    libicudata.so.76 => /usr/lib/libicudata.so.76
            libfontconfig.so.1 => /usr/lib/libfontconfig.so.1
                libexpat.so.1 => /usr/lib/libexpat.so.1
            libfreetype.so.6 => /usr/lib/libfreetype.so.6
                libpng16.so.16 => /usr/lib/libpng16.so.16
                libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0
                libfreetype.so.6 => !!! circular loop !!!
                    libgraphite2.so.3 => /usr/lib/libgraphite2.so.3
        libbz2.so.1.0 => /usr/lib/libbz2.so.1.0
    libavutil-ffmpeg.so.54 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libavutil-ffmpeg.so.54
    libswscale-ffmpeg.so.3 => /home/david/.local/share/Steam/steamapps/common/WormsWMD/lib/libswscale-ffmpeg.so.3
    libm.so.6 => /usr/lib/libm.so.6
    libc.so.6 => /usr/lib/libc.so.6
    ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2

Don't push the horses!

Offline

#10 2025-07-20 13:40:18

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,885

Re: Problems with Worms WMD

The good news is that you're only missing 2 librairies :

        libtheoraenc.so.1 => None
        libtheoradec.so.1 => None

The not-so-good-news is that they are older versions and not packaged anymore for archlinux .
Last version that has them was libtheora 1.1.1 .

Navigate to https://archive.archlinux.org/packages/l/libtheora/ , download the 1.1.1-6 tar.zst .
extract it to a folder foo under your $HOME .

Edit Run.sh and look for the line

export LD_LIBRARY_PATH="/usr/lib:/usr/local/lib"

add :$HOME/path-to-foo/usr/lib to it.

Comment the line starting with find, run the script and verify the lddtree output (post output if unsure).
In case the libs are found now, comment the lddtree line and uncomment the line that starts worms.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#11 2025-07-20 18:22:48

AsfhtgkDavid
Member
From: Ukraine, Europe
Registered: 2025-07-17
Posts: 21

Re: Problems with Worms WMD

Lone_Wolf wrote:

The good news is that you're only missing 2 librairies :

        libtheoraenc.so.1 => None
        libtheoradec.so.1 => None

The not-so-good-news is that they are older versions and not packaged anymore for archlinux .
Last version that has them was libtheora 1.1.1 .

Navigate to https://archive.archlinux.org/packages/l/libtheora/ , download the 1.1.1-6 tar.zst .
extract it to a folder foo under your $HOME .

Edit Run.sh and look for the line

export LD_LIBRARY_PATH="/usr/lib:/usr/local/lib"

add :$HOME/path-to-foo/usr/lib to it.

Comment the line starting with find, run the script and verify the lddtree output (post output if unsure).
In case the libs are found now, comment the lddtree line and uncomment the line that starts worms.

Thank u! Now it's starting and playable, but it have sound only in intro, after it doesn't. And cyclic terminal error:

GetCurrentDirectoryA
buffer /home/david/.local/share/Steam/steamapps/common/WormsWMD
Setting breakpad minidump AppID = 327030
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198425786745 [API loaded no]
ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave
process 41801: 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.
process 41801: 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.
process 41801: 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.
process 41801: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2794.

Don't push the horses!

Offline

#12 2025-07-20 19:24:03

stanczew
Member
Registered: 2021-03-02
Posts: 114

Re: Problems with Worms WMD

The right libtheora is present in Steam Linux Runtime, you shouldn't need to manually download it:

$ find . | grep 'libtheora(enc|dec)\.so\.1$'
./steamapps/common/SteamLinuxRuntime_sniper/var/tmp-Y6UV92/usr/lib/x86_64-linux-gnu/libtheoraenc.so.1
./steamapps/common/SteamLinuxRuntime_sniper/var/tmp-Y6UV92/usr/lib/x86_64-linux-gnu/libtheoradec.so.1
./steamapps/common/SteamLinuxRuntime_sniper/var/tmp-Y6UV92/usr/lib/i386-linux-gnu/libtheoraenc.so.1
./steamapps/common/SteamLinuxRuntime_sniper/var/tmp-Y6UV92/usr/lib/i386-linux-gnu/libtheoradec.so.1
./steamapps/common/SteamLinuxRuntime_soldier/var/tmp-9J2S92/usr/lib/x86_64-linux-gnu/libtheoraenc.so.1
./steamapps/common/SteamLinuxRuntime_soldier/var/tmp-9J2S92/usr/lib/x86_64-linux-gnu/libtheoradec.so.1
./steamapps/common/SteamLinuxRuntime_soldier/var/tmp-9J2S92/usr/lib/i386-linux-gnu/libtheoraenc.so.1
./steamapps/common/SteamLinuxRuntime_soldier/var/tmp-9J2S92/usr/lib/i386-linux-gnu/libtheoradec.so.1
./ubuntu12_32/steam-runtime.old/usr/lib/x86_64-linux-gnu/libtheoraenc.so.1
./ubuntu12_32/steam-runtime.old/usr/lib/x86_64-linux-gnu/libtheoradec.so.1
./ubuntu12_32/steam-runtime.old/usr/lib/i386-linux-gnu/libtheoraenc.so.1
./ubuntu12_32/steam-runtime.old/usr/lib/i386-linux-gnu/libtheoradec.so.1
./ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu/libtheoraenc.so.1
./ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu/libtheoradec.so.1
./ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libtheoraenc.so.1
./ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libtheoradec.so.1

It should be enough to add the following to Run.sh (in the LD_PRELOAD section):

"$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libtheoradec.so.1 \
"$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libtheoraenc.so.1 \

However, if you want a cleaner setup, I suggest dropping Run.sh and instead running the game through Steam using the "Play Worms W.M.D" option.
Background: when using "Play Worms W.M.D (Run.sh)" (or when launching from the terminal), the game binary is launched directly, without steam-launch-wrapper, so Steam runtime's libraries are not loaded.
The Run.sh version from the wiki attempts to fix this by manually LD_PRELOAD-ing the needed libraries, but imo it's more robust to just let Steam do its job; as we can see, system library updates (like libtheora from 1.1.1 to 1.2.0) can break the script, and it will require regular updates to keep working.

Over the years of battling with running this game on Linux, I have come up with the following solution:

1. Add a script, e.g. "myrun.sh", to the game directory (and remember to make it executable):

#!/bin/bash

_libraries=(
	lib/libQt5*.so.5
	/usr/lib/libwavpack.so.1
	"$STEAM_RUNTIME"/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3
)

export LD_PRELOAD="${_libraries[@]}"

exec "$@"

2. Add the following to the game's Launch Options in Steam:

./myrun.sh %command%

3. Run the game through Steam using "Play Worms W.M.D" (not "Play Worms W.M.D (Run.sh)").

If there are any issues, you can replace the last line of the script with

exec "$@" >~/worms-stdout.log 2>~/worms-stderr.log

and then look at the log files to see what the problem is.


(You can also add the following at the top of the script:

echo "$@" >~/worms-steam-cmd.log

to see the Steam Runtime magic in action.)


Edit:
Just realized that some time ago multiplayer broke, and now it requires the following in LD_PRELOAD:

"$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

which largely defeats the advantage of being cleaner than manually preloading all libraries…

Last edited by stanczew (2025-07-20 19:53:35)

Offline

#13 2025-07-21 07:51:56

AsfhtgkDavid
Member
From: Ukraine, Europe
Registered: 2025-07-17
Posts: 21

Re: Problems with Worms WMD

stanczew wrote:

The right libtheora is present in Steam Linux Runtime, you shouldn't need to manually download it:

$ find . | grep 'libtheora(enc|dec)\.so\.1$'
./steamapps/common/SteamLinuxRuntime_sniper/var/tmp-Y6UV92/usr/lib/x86_64-linux-gnu/libtheoraenc.so.1
./steamapps/common/SteamLinuxRuntime_sniper/var/tmp-Y6UV92/usr/lib/x86_64-linux-gnu/libtheoradec.so.1
./steamapps/common/SteamLinuxRuntime_sniper/var/tmp-Y6UV92/usr/lib/i386-linux-gnu/libtheoraenc.so.1
./steamapps/common/SteamLinuxRuntime_sniper/var/tmp-Y6UV92/usr/lib/i386-linux-gnu/libtheoradec.so.1
./steamapps/common/SteamLinuxRuntime_soldier/var/tmp-9J2S92/usr/lib/x86_64-linux-gnu/libtheoraenc.so.1
./steamapps/common/SteamLinuxRuntime_soldier/var/tmp-9J2S92/usr/lib/x86_64-linux-gnu/libtheoradec.so.1
./steamapps/common/SteamLinuxRuntime_soldier/var/tmp-9J2S92/usr/lib/i386-linux-gnu/libtheoraenc.so.1
./steamapps/common/SteamLinuxRuntime_soldier/var/tmp-9J2S92/usr/lib/i386-linux-gnu/libtheoradec.so.1
./ubuntu12_32/steam-runtime.old/usr/lib/x86_64-linux-gnu/libtheoraenc.so.1
./ubuntu12_32/steam-runtime.old/usr/lib/x86_64-linux-gnu/libtheoradec.so.1
./ubuntu12_32/steam-runtime.old/usr/lib/i386-linux-gnu/libtheoraenc.so.1
./ubuntu12_32/steam-runtime.old/usr/lib/i386-linux-gnu/libtheoradec.so.1
./ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu/libtheoraenc.so.1
./ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu/libtheoradec.so.1
./ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libtheoraenc.so.1
./ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libtheoradec.so.1

It should be enough to add the following to Run.sh (in the LD_PRELOAD section):

"$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libtheoradec.so.1 \
"$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libtheoraenc.so.1 \

However, if you want a cleaner setup, I suggest dropping Run.sh and instead running the game through Steam using the "Play Worms W.M.D" option.
Background: when using "Play Worms W.M.D (Run.sh)" (or when launching from the terminal), the game binary is launched directly, without steam-launch-wrapper, so Steam runtime's libraries are not loaded.
The Run.sh version from the wiki attempts to fix this by manually LD_PRELOAD-ing the needed libraries, but imo it's more robust to just let Steam do its job; as we can see, system library updates (like libtheora from 1.1.1 to 1.2.0) can break the script, and it will require regular updates to keep working.

Over the years of battling with running this game on Linux, I have come up with the following solution:

1. Add a script, e.g. "myrun.sh", to the game directory (and remember to make it executable):

#!/bin/bash

_libraries=(
	lib/libQt5*.so.5
	/usr/lib/libwavpack.so.1
	"$STEAM_RUNTIME"/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3
)

export LD_PRELOAD="${_libraries[@]}"

exec "$@"

2. Add the following to the game's Launch Options in Steam:

./myrun.sh %command%

3. Run the game through Steam using "Play Worms W.M.D" (not "Play Worms W.M.D (Run.sh)").

If there are any issues, you can replace the last line of the script with

exec "$@" >~/worms-stdout.log 2>~/worms-stderr.log

and then look at the log files to see what the problem is.


(You can also add the following at the top of the script:

echo "$@" >~/worms-steam-cmd.log

to see the Steam Runtime magic in action.)


Edit:
Just realized that some time ago multiplayer broke, and now it requires the following in LD_PRELOAD:

"$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

which largely defeats the advantage of being cleaner than manually preloading all libraries…

Thank u! It's working correctly. Final script:

#!/bin/bash

_libraries=(
	lib/libQt5*.so.5
	/usr/lib/libwavpack.so.1
	"$STEAM_RUNTIME"/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3
    "$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
)

export LD_PRELOAD="${_libraries[@]}"

exec "$@" > ~/worms-stdout.log 2> ~/worms-stderr.log

You can update archwiki


Don't push the horses!

Offline

#14 2026-01-03 12:44:23

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 7,360

Re: Problems with Worms WMD

AsfhtgkDavid wrote:

You can update archwiki

This worked for me thanks. And I updated the wiki.


Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.

Offline

#15 2026-03-21 17:37:08

wondr
Member
Registered: 2026-03-21
Posts: 5

Re: Problems with Worms WMD

I don't know if anyone is going to see this but using the myrun does nothing for me, no output in terminal, nothing, and I suspect its because I'm missing libidn.so.11 BUT I cant find this anywhere and the archive only has  the version libidn-1.35 when apparently that so is only in the version -1.34 and below...
does anyone have any way to get this so?

Last edited by wondr (2026-03-21 17:39:10)

Offline

#16 2026-03-21 19:19:56

stanczew
Member
Registered: 2021-03-02
Posts: 114

Re: Problems with Worms WMD

It sounds like you're trying to run the script directly from the terminal; you're supposed to put its invocation into the game's Launch Options in the Steam GUI (so that the `exec "$@"` line is replaced by Steam's command to launch the game, but with additional libraries preloaded by the script):
worms.png

I just tested it, and I can still successfully launch the game this way.

Offline

#17 2026-03-21 20:51:07

wondr
Member
Registered: 2026-03-21
Posts: 5

Re: Problems with Worms WMD

sorry i forgot to specify, it doesnt work in steam either so i tried to run via terminal and nothing, would u like the terminal error log for run.sh and maybe that can provide some insight?

Offline

#18 2026-03-22 07:58:27

stanczew
Member
Registered: 2021-03-02
Posts: 114

Re: Problems with Worms WMD

wondr wrote:

would u like the terminal error log for run.sh and maybe that can provide some insight?

Not really, Run.sh is irrelevant to this approach.

wondr wrote:

i tried to run via terminal and nothing

That's expected, it needs to be launched through Steam.

wondr wrote:

it doesnt work in steam either

There should be a "worms-stderr.log" file in your home directory. Post it, it should contain useful information.
If the file is not there, then you didn't set the script up correctly; post the outputs of the following commands:

$ /bin/ls -l ~/.steam/root/steamapps/common/WormsWMD
$ /bin/cat ~/.steam/root/steamapps/common/WormsWMD/myrun.sh

Offline

#19 2026-03-22 16:51:15

wondr
Member
Registered: 2026-03-21
Posts: 5

Re: Problems with Worms WMD

here is the output of th log file u said:

ERROR: ld.so: object 'lib/libQt5Core.so.5' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'lib/libQt5DBus.so.5' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'lib/libQt5Gui.so.5' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'lib/libQt5OpenGL.so.5' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'lib/libQt5Widgets.so.5' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'lib/libQt5X11Extras.so.5' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'lib/libQt5XcbQpa.so.5' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/usr/lib/libwavpack.so.1' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/wondr/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/wondr/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/wondr/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu/libidn.so.11' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/wondr/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu/libgcrypt.so.11' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/wondr/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu/librtmp.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
/home/wondr/.local/share/Steam/steamapps/common/WormsWMD/Worms W.M.Dx64: /home/wondr/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by /lib/x86_64-linux-gnu/libpulse.so.0)
/home/wondr/.local/share/Steam/steamapps/common/WormsWMD/Worms W.M.Dx64: /home/wondr/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-12.2.so)
This application failed to start because it could not find or load the Qt platform plugin "wayland;xcb"
in "".

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, xcb.

Reinstalling the application may fix this problem.


to be  safe heres the terminal outputs of the command u said too:

/bin/ls

total 256700
drwxr-xr-x 4 wondr wondr      4096 Mar 21 03:26  Audio
-rwxr-xr-x 1 wondr wondr        20 Mar 21 03:26  BuildVersionData.txt
-rwxr-xr-x 1 wondr wondr      3984 Mar 21 03:26  ChromaAppInfo.xml
drwxr-xr-x 8 wondr wondr      4096 Mar 21 03:26  CommonData
drwxr-xr-x 5 wondr wondr      4096 Mar 21 03:26  DataLinux
-rwxr-xr-x 1 wondr wondr        36 Mar 20 07:24  Default.cfg
drwxr-xr-x 3 wondr wondr      4096 Mar 20 07:24  DLC
drwxr-xr-x 2 wondr wondr      4096 Mar 21 03:26  lib
-rwxr-xr-x 1 wondr wondr       459 Mar 21 17:30  myrun.sh
drwxr-xr-x 2 wondr wondr      4096 Mar 21 03:26  platforms
-rwxr-xr-x 1 wondr wondr      1461 Mar 21 17:26  Run.sh
-rwxr-xr-x 1 wondr wondr         6 Mar 21 03:26  steam_appid.txt
drwxr-xr-x 3 wondr wondr      4096 Mar 20 07:24  uidata
drwxr-xr-x 2 wondr wondr      4096 Mar 21 03:26  wads
-rwxr-xr-x 1 wondr wondr       569 Mar 21 03:26  WorldSystemPathsP4.txt
-rwxr-xr-x 1 wondr wondr       543 Mar 21 03:26  WorldSystemPaths.txt
-rwxr-xr-x 1 wondr wondr 262783624 Mar 21 03:26 'Worms W.M.Dx64'
drwxr-xr-x 2 wondr wondr      4096 Mar 21 03:26  xcbglintegrations

/bin/cat

#!/bin/bash

_libraries=(
  lib/libQt5*.so.5
  /usr/lib/libwavpack.so.1
  "$STEAM_RUNTIME"/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3
  "$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
)

export LD_PRELOAD="${_libraries[@]}"

exec "$@" >~/worms-stdout.log 2>~/worms-stderr.log



ps sorry if im overly nooby this is my first time dealing with this stuff

Last edited by wondr (2026-03-22 16:56:23)

Offline

#20 2026-03-22 19:37:02

stanczew
Member
Registered: 2021-03-02
Posts: 114

Re: Problems with Worms WMD

wondr wrote:

ps sorry if im overly nooby this is my first time dealing with this stuff

No worries, everything is fine.
Maybe just one thing: when you post terminal output, wrap id in[code]tag for readability.

The actual error is here:

This application failed to start because it could not find or load the Qt platform plugin "wayland;xcb"
in "".

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, xcb.

Reinstalling the application may fix this problem.

I guess you have a "QT_QPA_PLATFORM=wayland;xcb" set for Qt 6 used by some other program, and since Qt 5 bundled by the game doesn't support it, it errors out.
Try adding "unset QT_QPA_PLATFORM" before the "exec" call.

Offline

#21 2026-03-22 20:17:34

wondr
Member
Registered: 2026-03-21
Posts: 5

Re: Problems with Worms WMD

thank you it worked smile however my mouse is a lil buggy in the game, is that a known thing? its like switching for a frame to my regular mouse everyother frame

Offline

#22 2026-03-22 20:42:37

stanczew
Member
Registered: 2021-03-02
Posts: 114

Re: Problems with Worms WMD

I have the same mouse cursor issue. I suspect it might be Xwayland related, but I don't have a pure X setup to check it.

Offline

#23 2026-03-22 21:10:14

wondr
Member
Registered: 2026-03-21
Posts: 5

Re: Problems with Worms WMD

good to know thank you smile

Offline

Board footer

Powered by FluxBB