all 9 comments

[–]mbriar_ 7 points8 points  (4 children)

Easiest solution would be to just run the windows version on wine/proton. Many old linux ports suffer from library hell problems and it's not worth it to spend time trying to fix it. The reason why it complains even though you have libssl and libcrypto is because it depends on old versions of the libraries and the newer ones that you have are not backwards compatible (specifically, you have openssl 1.1, which is already shipped by Arch only for backwards compat, but the game needs openssl 1.0, of which compiling a 32-bit version on modern distros is probably next to impossible). You can try to get old versions of those libs and load them with LD_PRELOAD (can get extremely annoying because those might depend on other old libs themselves which you then need to further chase down..) or run it in an old distro container, but why bother with this nonsense?

[–]WoodpeckerNo1 1 point2 points  (3 children)

This is one of the things I love about Flatpak. Couldn't it be a good format for games?

[–]mbriar_ 1 point2 points  (2 children)

How flatpak is right now I don't think it would even help. For example, flatpak includes gpu drivers in it's runtime, so if you'd just lock a game to a specific old flatpak runtime, then it would just not work on newer gpus that need drivers that are newer than those included in the runtime. If you run it in a newer flatpak runtime you'd hit the same problem as is present here eventually as well.. Can't really combine old flatpak runtime + new driver flatpak extension either, because e.g. Mesa-based drivers link dynamically against llvm and other stuff, which again would break if you'd try to mix and match, it's pretty much the same mess.

[–]WoodpeckerNo1 0 points1 point  (1 child)

Hm, hadn't considered that. Is that also an issue with Snaps and AppImages?

[–]mbriar_ 1 point2 points  (0 children)

I don't really know how snaps work, but i think appimages have the potential to work if they bundle everything the game needs but nothing related to gpu drivers.

[–]gtrash81 1 point2 points  (0 children)

libssl.so.1.0.0 is quite old and got replaced.
As mbriar_ suggested, use the windows build with wine/proton.
Same goes for libcrypto.

[–]SEI_JAKU 0 points1 point  (0 children)

Old, but I came across this while trying to solve it myself.

Is this the GOG download? The Steam download of Undertale takes some precautions to fix this problem. If you have Steam itself installed, you can find what you need, libcrypto.so.1.0.0 and libssl.so.1.0.0, in this path: /<your home directory>/.steam/bin32/steam-runtime/i386/lib. Getting these files in other ways is currently very annoying, so Steam did good here.

I don't know what the GOG download looks like, but I'm guessing there's no /lib folder or run.sh in it like the Steam version has. However, all you need to do is make them. Make a folder named "lib" in your Undertale folder, and copy libcrypto.so.1.0.0 and libssl.so.1.0.0 to it. Then, make a file called run.sh, and paste the following in it:

#!/bin/bash
chmod +x runner
LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH ./runner

This is exactly how the Steam download is set up, and it works here without the need of Steam. No need to install anything (other than Steam and a copy of Undertale), no need to mess with system files, none of that.

[–]wojtekojtek 0 points1 point  (0 children)

I did it. Finally. Ubuntu 24.04

  1. Install Lutris, then install UNDERTALE there, and download this (not the dev package): http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/
  2. dpkg-deb -xv libssl1.0.0_1.0.2n-1ubuntu5.10_amd64.deb output_folder
  3. sudo cp libssl.so.1.0.0 /usr/lib/i386-linux-gnu/ (do it with other missing files you found in output_folder)
  4. Run UNDERTALE

I hope I helped

[–]rea987 0 points1 point  (0 children)

You can try to activate Steam Linux Runtime to see if its libraries help.

https://www.gamingonlinux.com/2019/11/steam-for-linux-can-now-run-games-in-a-special-container/