-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make the game work on Linux with Steam integration #6
base: master
Are you sure you want to change the base?
Conversation
it won't launch (as expected) |
I ended up having to run |
Thanks! I didn't notice that one because it had already been installed on my system as a dependency of obs-studio. I've added Debian's version of |
FYI, run-linux.sh also requested a bunch of shared libraries other than libsteam_api.so. I was able to install them one by one, but then I ran into this: ./linux/love: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./linux/love) ./linux/love: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ./linux/love) I have 2.27 on ubuntu 18.04.5 |
stop using lts distros on desktop. love needs to be built against steam runtime or statically linked. |
I'm not sure what you mean. Also, are there any plans to make the game available on linux through steam? |
NB. We also need a copy of 64-bit libsteam_api.so available in the engine/love/linux directory, or elsewhere on the LD_LIBRARY_PATH.
From the context, I believe they mean that one should rely as little as possible on system libraries, and distribute (or statically compile in) necessary versions of all required libraries (that aren't in the Steam runtime). I don't have experience with packaging games for Steam, so I don't really know what versions of what need to be included, only what worked for me. It seems the versions of the libraries I included were compiled against glibc 2.29 (released 2019), so will only work with newer distros. AFAIK the dev hasn't said anything about an official Linux Steam release, and as much as I'd like to see it, I wouldn't expect it to be a priority for them unless they were personally interested in the Linux platform itself, since Linux gamers can play the game today, either via Proton or this workaround. |
That worked, thanks! |
Will this work also for mac os m1 ? |
You may be able to follow a similar process to get it to work on Mac, but I'm not familiar with MacOS, so I don't know how easy it would be to find the necessary libraries compiled for the new Apple silicon. |
This adds a small script, and the
love
,libluajit.so
, andluasteam.so
binaries (64-bit) to get the game working under Linux, with the Steam integration intact (achievements, at least).I wasn't really sure where to put the files I added, so feel free to rearrange or reimplement as appropriate!
I copied the included
love
andlibluajit
binaries from the ones installed from the Debian package repos (eg. https://packages.debian.org/bullseye/amd64/love).The
luasteam.so
binary was downloaded from https://github.com/uspgamedev/luasteam/releasesNote that we also require
libsteam_api.so
. As I understand it, this library is not freely redistributable, so it is not included in the PR. For personal use, I used a copy from one of my other 64-bit Steam games.Steps to get this working:
/src/SNKRX
a327ex:SNKRX
if necessary (the game will likely be updated more recently than this branch/PR)libsteam_api.so
from a 64-bit Steam game you already have installed, into/src/SNKRX/engine/love/linux/
./run-linux.sh
or
/src/SNKRX/run-linux.sh
script (you may have to change the "File type" in the dialog).Either way, achievements and time spent should be logged against the official SNKRX.
While this gives us Linux users a workaround, I would very much like to see this fantastic game available for Linux directly on Steam, so I hope this helps! 🐧