Skip to content
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

MIDI broken on linux #32980

Closed
waylon531 opened this issue Oct 24, 2024 · 17 comments
Closed

MIDI broken on linux #32980

waylon531 opened this issue Oct 24, 2024 · 17 comments
Labels
S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels.

Comments

@waylon531
Copy link
Contributor

waylon531 commented Oct 24, 2024

Description

Recently ss14 midi instruments have broke on linux. I'm running the steam release and now I get an error when opening the instrument UI, and this error in the console:

/games/SteamLibrary/steamapps/common/Space Station 14 Playtest/bin/loader/fluidsynth.so: cannot open shared object file: No such file or directory
/games/SteamLibrary/steamapps/common/Space Station 14 Playtest/dotnet/shared/Microsoft.NETCore.App/8.0.0/fluidsynth.so: cannot open shared object file: No such file or directory
/games/SteamLibrary/steamapps/common/Space Station 14 Playtest/bin/loader/libfluidsynth.so: cannot open shared object file: No such file or directory
/games/SteamLibrary/steamapps/common/Space Station 14 Playtest/dotnet/shared/Microsoft.NETCore.App/8.0.0/libfluidsynth.so: cannot open shared object file: No such file or directory
/games/SteamLibrary/steamapps/common/Space Station 14 Playtest/bin/loader/fluidsynth: cannot open shared object file: No such file or directory
/games/SteamLibrary/steamapps/common/Space Station 14 Playtest/dotnet/shared/Microsoft.NETCore.App/8.0.0/fluidsynth: cannot open shared object file: No such file or directory
/games/SteamLibrary/steamapps/common/Space Station 14 Playtest/bin/loader/libfluidsynth: cannot open shared object file: No such file or directory
/games/SteamLibrary/steamapps/common/Space Station 14 Playtest/dotnet/shared/Microsoft.NETCore.App/8.0.0/libfluidsynth: cannot open shared object file: No such file or directory

Is it a packaging problem with the steam release? Could it be a weird local version conflict and I have the wrong version of fluidsynth or something?
Reproduction
Open instrument UI or be near an instrument and the message appears.

Additional context
I'm running arch linux if that helps at all

@github-actions github-actions bot added the S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. label Oct 24, 2024
@deltanedas
Copy link
Contributor

install fluidsynth2 (or symlinking fluidsynth3 works fine it turns out)

@waylon531
Copy link
Contributor Author

I do have fluidsynth installed, and instruments were working fine until very recently. I just checked on master, and building everything myself makes instruments work fine, it seems like a problem with the steam release somehow

@waylon531
Copy link
Contributor Author

waylon531 commented Oct 26, 2024

Symlinking my fluidsynth libraries everywhere doesn't seem to fix it for whatever reason, I still get the same error message. My system libraries are for sure in the search path for libraries too. I tried to figure out what was going wrong with LD_DEBUG and I can confirm that /lib is in the search path and that libfluidsynth.so exists there.

The downloadable zip from the ss14 website works! Gonna use that as a workaround for now. I kinda expected steam-native to work and for it to be a weird steam runtime conflict but it's borked too

@Coolsurf6
Copy link
Contributor

I am also having this issue. I had it working once after it broke before, but still unable to get anything out of it. I have reinstalled fluidsynth before and still no luck.
image

@deltanedas
Copy link
Contributor

you have to make a symlink in bin/loader/ because it doesnt try to load from a standard directory /usr/lib for WHATEVER REASON

@Coolsurf6
Copy link
Contributor

Coolsurf6 commented Oct 28, 2024

I have, I found the libfluidsynth.so file and symlinked it, even tried putting a copy of the file in there. Still gives me that error.
It also says someting about /dotnet as well but I have no idea.
image

Can you contact me on Discord about this?

@Coolsurf6
Copy link
Contributor

This is the version I am using
image

@deltanedas
Copy link
Contributor

i use 3.2.3 and it works, probably just major version difference

@Coolsurf6
Copy link
Contributor

Coolsurf6 commented Oct 28, 2024

i use 3.2.3 and it works, probably just major version difference

How did you get 3.2.3? I can't find this version on AUR or the normal Repo?

image

@deltanedas
Copy link
Contributor

deltanedas commented Oct 28, 2024

oh its much simpler
its looking for bin/loader/fluidsynth.so not libfluidsynth.so that any distro would package (so mv {lib,}fluidsynth.so)

@Coolsurf6
Copy link
Contributor

Now it is giving me this
image

@deltanedas
Copy link
Contributor

thats just missing dependency

@Coolsurf6
Copy link
Contributor

I have it already installed, can find the file it asks for in /lib anyway.

@Coolsurf6
Copy link
Contributor

Coolsurf6 commented Oct 28, 2024

Wait yeah, I can run midis on my local host but they give me a bunch of errors. Doesn't work while running through steam.

image

@waylon531
Copy link
Contributor Author

oh its much simpler its looking for bin/loader/fluidsynth.so not libfluidsynth.so that any distro would package (so mv {lib,}fluidsynth.so)

I already tried this, no dice. I've tried both symlinking and copying those into both of the directories the client asks and it still doesn't work.

Here's something that works, running the binary from steam directly by setting the launch options: /games/SteamLibrary/steamapps/common/Space\ Station\ 14\ Playtest/SS14.Launcher # %command%

Using this as the launch option for the game lets it start and use fluidsynth fine. It's for sure a steam runtime issue. The command steam is running is /home/uelen/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- /home/uelen/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1482520 -- /games/SteamLibrary/steamapps/common/SteamLinuxRuntime_soldier/_v2-entry-point --verb=waitforexitandrun -- /games/SteamLibrary/steamapps/common/SteamLinuxRuntime/scout-on-soldier-entry-point-v2 -- /games/SteamLibrary/steamapps/common/Space Station 14 Playtest/SS14.Launcher but that gives zero information about libs or what part of the runtime is breaking it. Not sure how to debug this more ...

@waylon531
Copy link
Contributor Author

One more workaround, this time forcing specific system libraries to be used instead of steam's:
LD_PRELOAD="/usr/lib/libportaudio.so /usr/lib/libfluidsynth.so /usr/lib/libinstpatch-1.0.so.2 /usr/lib/libreadline.so.8 /usr/lib/libglib-2.0.so.0 /usr/lib/libpcre2-8.so.0" %command%

@VasilisThePikachu
Copy link
Member

VasilisThePikachu commented Nov 16, 2024

This is update with steam forcing games to use its native libraries (or something like that), this issue is now tracked at space-wizards/RobustToolbox#5512

@VasilisThePikachu VasilisThePikachu closed this as not planned Won't fix, can't repro, duplicate, stale Nov 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels.
Projects
None yet
Development

No branches or pull requests

4 participants