News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

SDL2 driver is unavailable for FluidSynth > 2.5.0

Started by Roboron, Yesterday at 10:58:52 PM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

Roboron

FluidSynth no longer works with SDL2 driver after FluidSynth 2.5.0 (October 5th, 2025). Only SDL3 is supported after the 2.5.0 version.

=> https://github.com/FluidSynth/fluidsynth/releases/tag/v2.5.0

As a result, Simutrans can't play music on Linux systems that ship the latest version of FluidSynth, such as mine (Arch Linux, rolling release).

If I replace the "sdl2" with "sdl3" driver in src/simutrans/music/fluidsynth.cc, Simutrans can play music again, but I guess this is because I have SDL3 installed and there is a compatibility layer called sdl2-compat which is what Simutrans is supposedly using.

I don't think we can trust on SDL3 being installed and initialized through this sdl2-compat layer on every system we support, so in r11915 I have switched the FluidSynth driver for Linux to pulseaudio. This should work even on Linux systems with pipewire instead of pulseaudio, and requires less steps than the former.

prissi

Since the stable are statically linked, the SDL2 compatibility layer should not be a problem. However, getting rid of the dependency hell of fluidsync may make life easier, hopefully. I am not sure how this works for Android, though.

Long term seems we need to switch to SDL3 anyway :(

Roboron

Trying the latest Steam nightly, it seems that the pulseaudio driver does not work there. I will have to find another way :-/