space-station-14
space-station-14 copied to clipboard
No midi support on Ubuntu 18.04
Description
Ubuntu 18.04 does not have an up to date version of libfluidsynth, only supporting up to version 1.1.9-1 as of this time. The game does not seem to support this version of libfluidsynth, and will show the regular error of fluidsynth not being installed even though it is.
Maybe this could be fixed by bundling a newer version of libfluidsynth with the client.
Screenshots
Additional context
$ dpkg -l | grep libfluidsy
ii libfluidsynth-dev:amd64 1.1.9-1 amd64 Real-time MIDI software synthesizer (development files)
ii libfluidsynth1:amd64 1.1.9-1 amd64 Real-time MIDI software synthesizer (runtime library)
$ apt search libfluidsynth
Sorting... Done
Full Text Search... Done
libfluidsynth-dev/bionic,now 1.1.9-1 amd64 [installed]
Real-time MIDI software synthesizer (development files)
libfluidsynth1/bionic,now 1.1.9-1 amd64 [installed,automatic]
Real-time MIDI software synthesizer (runtime library)
$ cat /etc/issue
Ubuntu 18.04.6 LTS \n \l
all I can really say in this regard is "oof" there's a build script to solve this I PR'd to the native libraries thing... um... @PJB3005 pls
If it is still relevant for anyone: there is a workaround (haven't tested on Ubuntu, but it worked on Fedora).
The game tries to load fluidsynth library from the /path/to/space-station-14/bin/loader/libfluidsynth.so.2
. So all you need to do is just to put the library there. In my case, I just symlinked it:
cd /path/to/space-station-14/bin/loader
ln -s /usr/lib64/libfluidsynth.so libfluidsynth.so.2
By the way, Space Station 14 looks for libfluidsynth.so.2
, but at least on Fedora (though it is 37 which is still in beta) it is already libfluidsynth.so.3
That last note is a bit of a complicated mess. Dropping support for libfluidsynth.so.2
will break things for some users and not having support for libfluidsynth.so.3
will be messy for others. Blame Fluidsynth - they appear to have decided to make a major ABI change because they couldn't just keep around the 32-bit soundfont access API for some unknown reason (source: https://github.com/FluidSynth/fluidsynth/blob/master/doc/recent_changes.txt What's new in 2.2.0?
). I'm not sure if that will cause a problem or not, but it's worth mentioning why that happened.
Also for the record, the current plan is to make our nfluidsynth fork target libfluidsynth.so.3
and ship it ourselves, although I can't give an estimate of when this will happen sadly.
I see... Good to know, thanks. For now the workaround seems to work anyways. Though it is funny to see it working in that case
Also bit of an issue on NixOS, where fluidsynth.so.2
was removed a year ago by https://github.com/NixOS/nixpkgs/pull/141918.
For NixOS it's easies to run SS14 using Steam, so to add Fluidsynth to it's environment I added an override:
nixpkgs.config.packageOverrides = pkgs: {
steam = pkgs.steam.override {
extraPkgs = pkgs: [ pkgs.fluidsynth ];
};
};
And linked the file:
ln -s /lib64/libfluidsynth.so ~/.local/share/Steam/steamapps/common/Space\ Station\ 14\ Playtest/bin/loader/libfluidsynth.so.2