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

Linux platforms no longer detect fluidsynth if the game is running with steam. #5512

Open
VasilisThePikachu opened this issue Nov 6, 2024 · 4 comments
Labels
Area: Audio Issue: Bug This issue is a bug report. Platform: Linux Things that relate to Linux explicitly. Priority: 2-Before Release

Comments

@VasilisThePikachu
Copy link
Member

VasilisThePikachu commented Nov 6, 2024

image
(ignore the low vram artifacts i did this in a vm)

Reported in #help too by another user https://discord.com/channels/310555209753690112/790656972801572905/1303720864080068689

[ERRO] midi: Failed to initialize fluidsynth due to exception, disabling MIDI support:
System.DllNotFoundException: Unable to load shared library 'fluidsynth' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: 
/home/myra/.steam/debian-installation/steamapps/common/Space Station 14/bin/loader/fluidsynth.so: cannot open shared object file: No such file or directory
/home/myra/.steam/debian-installation/steamapps/common/Space Station 14/dotnet/shared/Microsoft.NETCore.App/8.0.0/fluidsynth.so: cannot open shared object file: No such file or directory
/home/myra/.steam/debian-installation/steamapps/common/Space Station 14/bin/loader/libfluidsynth.so: cannot open shared object file: No such file or directory
/home/myra/.steam/debian-installation/steamapps/common/Space Station 14/dotnet/shared/Microsoft.NETCore.App/8.0.0/libfluidsynth.so: cannot open shared object file: No such file or directory
/home/myra/.steam/debian-installation/steamapps/common/Space Station 14/bin/loader/fluidsynth: cannot open shared object file: No such file or directory
/home/myra/.steam/debian-installation/steamapps/common/Space Station 14/dotnet/shared/Microsoft.NETCore.App/8.0.0/fluidsynth: cannot open shared object file: No such file or directory
/home/myra/.steam/debian-installation/steamapps/common/Space Station 14/bin/loader/libfluidsynth: cannot open shared object file: No such file or directory
/home/myra/.steam/debian-installation/steamapps/common/Space Station 14/dotnet/shared/Microsoft.NETCore.App/8.0.0/libfluidsynth: cannot open shared object file: No such file or directory

   at NFluidsynth.Native.LibFluidsynth.fluid_set_log_function(Int32 severity, LoggerDelegate func, IntPtr data)
   at NFluidsynth.Logger.SetLoggerMethod(LoggerDelegate method)
   at Robust.Client.Audio.Midi.MidiManager.InitializeFluidsynth() in /home/runner/work/RobustToolbox/RobustToolbox/Robust.Client/Audio/Midi/MidiManager.cs:line 176
[INFO] game: Shutting down! Reason: Main window closed

Repro: Linux mint, Arch (well all linux distros that update steam will be effected. As steam native runtimes are now default.)

Needs #4997

Fix for now is to use standalone launcher. Or flatpak

@VasilisThePikachu VasilisThePikachu added Issue: Bug This issue is a bug report. Platform: Linux Things that relate to Linux explicitly. Area: Audio Priority: 2-Before Release labels Nov 6, 2024
@VasilisThePikachu
Copy link
Member Author

VasilisThePikachu commented Nov 6, 2024

Oh i bricked my mint vm trying to install vmbox to copy the error

@VasilisThePikachu VasilisThePikachu changed the title Linux Mint seems to no longer detect fluidsynth install Linux seems to no longer detect fluidsynth install on steam Nov 6, 2024
@ItzzCode
Copy link

ItzzCode commented Nov 8, 2024

image
image
Can confirm it's not being detected, linux mint 22, ss14 version 0.29.1.0

@NicoSGF64
Copy link

For everyone experiencing this, I have tried every solution in here with me having fluidsynth V. 2.3.7, on Arch Linux kernel 6.11.6-arch1-1.
The trick that worked for me is putting LD_PRELOAD=/lib/libfluidsynth.so (or whatever it is called in your system) in the launch options from the executable (so for me LD_PRELOAD=/lib/libfluidsynth.so ~/.local/share/Steam/steamapps/common/Space Station 14 Playtest/SS14.Launcher).
I haven't been able to find a way to put it in the Steam commandbox however, since it gives out an error saying ERROR: ld.so: object '/lib/fluidsynth.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored., with ~/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/pressure-vessel/bin/steam-runtime-launcher-interface-0: error while loading shared libraries: libportaudio.so.2: cannot open shared object file: No such file or directory being the thing that terminates the process in spite of libportaudio.so.2 existing in /lib.

For some reason, only GLIBC_TUNABLES=glibc.rtld.dynamic_sort=1 LD_PRELOAD=/lib/fluidsynth.so,libportaudio.so.2 %command% as Steam launch parameters is able to fix that and get the game running, but MIDI still isn't detected, in spite of the LD_PRELOAD.

@waylon531
Copy link

@NicoSGF64 If you look at the logs again you will probably see another error similar to error while loading shared libraries: libportaudio.so.2. It took me six tries to get a full LD_PRELOAD command that works, my end result was 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%

I'm on an arch derivative so it'll probably work if you're on arch, this reportedly doesn't work for people on other distros

@VasilisThePikachu VasilisThePikachu changed the title Linux seems to no longer detect fluidsynth install on steam Linux platforms no longer detect fluidsynth if the game is running with steam. Nov 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Audio Issue: Bug This issue is a bug report. Platform: Linux Things that relate to Linux explicitly. Priority: 2-Before Release
Projects
None yet
Development

No branches or pull requests

4 participants