Worms W.M.D
Linux port fails to launch due to outdated libraries
The Linux port ships with outdated libraries and does not run out of the box. I went to the game folder and ran the Run.sh from a terminal.

This was the output:

libGL error: MESA-LOADER: failed to open radeonsi (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: radeonsi libGL error: MESA-LOADER: failed to open radeonsi (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: radeonsi libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: swrast GetCurrentDirectoryA buffer ./Run.sh: line 6: 8833 Segmentation fault ./Worms\ W.M.Dx64

One of the libraries is referencing a really old version of Mesa. The Mesa project receives a constant influx of code and new versions come out all the time. This means that libraries that depend on Mesa are also being updated constantly.

There is a folder inside the game folder called "lib". It contains the libraries required by the game. I am not familiar with graphics programming, so I was not able to pinpoint the offending library. So I made a backup of the "lib" folder and removed every library from it, then restored one by one, running the ./Run.sh each time.

The game launched with only this 27 libraries (there were originally 60) in the "lib" folder:

libavcodec-ffmpeg.so.56
libavformat-ffmpeg.so.56
libavutil-ffmpeg.so.54
libbluray.so.1
libfmodevent64-4.44.61.so
libfmodex64-4.44.61.so
libicudata.so.56
libicui18n.so.56
libicuuc.so.56
libopenjpeg.so.5
libQt5Core.so.5
libQt5DBus.so.5
libQt5Gui.so.5
libQt5OpenGL.so.5
libQt5Widgets.so.5
libQt5X11Extras.so.5
libQt5XcbQpa.so.5
libQtSolutions_PropertyBrowser-head.so.1
libschroedinger-1.0.so.0
libsteam_api.so
libswresample-ffmpeg.so.1
libswscale-ffmpeg.so.3
libva.so.1
libvpx.so.3
libwebp.so.5
libx264.so.148
libx265.so.79

The rest of the required libraries are now being pulled directly from my system.

I get the idea of including the libraries with the executable, but libraries that depend on Mesa should be handled by the system. Most Linux users have our systems relatively up to date all the time, and particularly users like me, that use their Linux workstation for work and gaming, are always checking for Mesa updates.

The developers should check this issue, if I did not have some technical knowledge, I would not be able to play the game.

I do appreciate very much the extra effort that the Linux port required. Once I got it running, it worked (and continue working) flawlessly and the borderless window option is always welcomed.

For reference these are the specs of my system:

OS: Ubuntu 18.04
Kernel version: 5.03
Mesa version: 19.2.1
CPU: i7 4790k
GPU: RX 580 (using the amdgpu driver)
RAM: 16GB
Автор останньої редакції: ramzeto; 13 січ. 2020 о 16:09
< >
Показані коментарі 16 із 6
thank you, it worked
Greetings ramzeto,

Thank you very much for your post and in helping your fellow gamers.

Regards,

Team17 Support
I had to keep the original libcrystalhd.so.3 also, then it worked!
My system is currently on Ubuntu 19.10.

Thank you very much ramzeto for your efforts!

Regards,
Thank you very much ramzeto for your post !

I also had to keep the original files libcrystalhd.so.3, libgnutls.so.30, libhogweed.so.4 and libnettle.so.6. It's worked !

Thanks.


My system:

OS: Kde Neon 5.19
Kernel version: 5.4.0-48
Mesa version: 20.0.8
CPU: AMD FX-8150
GPU: R9 290
RAM: 16GB
Автор останньої редакції: Duppy; 8 жовт. 2020 о 21:33
Thanks a lot for this post. Perhaps the devs can sticky this for future users.

I ended up using 23 libraries, being:

libavcodec-ffmpeg.so.56* libavformat-ffmpeg.so.56* libavutil-ffmpeg.so.54* libbluray.so.1* libfmodevent64-4.44.61.so* libfmodex64-4.44.61.so* libicudata.so.56* libicui18n.so.56* libicuuc.so.56* libQt5Core.so.5* libQt5DBus.so.5* libQt5Gui.so.5* libQt5OpenGL.so.5* libQt5Widgets.so.5* libQt5X11Extras.so.5* libQt5XcbQpa.so.5* libQtSolutions_PropertyBrowser-head.so.1* libssh-gcrypt.so.4* libsteam_api.so* libswresample-ffmpeg.so.1* libswscale-ffmpeg.so.3* libvpx.so.3* libwebp.so.5*

I finally get to play this with my friends :)
This post was really helpful for me, thank you! :D
The game launched correctly in my machine, using these libs:
libavcodec-ffmpeg.so.56 libavformat-ffmpeg.so.56 libavutil-ffmpeg.so.54 libbluray.so.1 libcrystalhd.so.3 libfmodevent64-4.44.61.so libfmodex64-4.44.61.so libicudata.so.56 libicui18n.so.56 libicuuc.so.56 libopenjpeg.so.5 libQt5Core.so.5 libQt5DBus.so.5 libQt5Gui.so.5 libQt5OpenGL.so.5 libQt5Widgets.so.5 libQt5X11Extras.so.5 libQt5XcbQpa.so.5 libQtSolutions_PropertyBrowser-head.so.1 libschroedinger-1.0.so.0 libsteam_api.so libswresample-ffmpeg.so.1 libswscale-ffmpeg.so.3 libva.so.1 libvpx.so.3 libwebp.so.5 libx264.so.148 libx265.so.79
OS: Kubuntu 22.04
Kernel version: 5.15.0-43-generic
VA-API version: 1.14 (libva 2.12.0)
Driver version: Mesa Gallium driver 22.0.1 for AMD JUNIPER (DRM 2.50.0 / LLVM 13.0.1)
Автор останньої редакції: Zuru -sifón-; 30 лип. 2022 о 16:07
< >
Показані коментарі 16 із 6
На сторінку: 1530 50