The International Simutrans Forum

Development => Patches & Projects => Topic started by: Roboron on April 01, 2026, 10:58:52 PM

Title: SDL2 driver is unavailable for FluidSynth > 2.5.0
Post by: Roboron on April 01, 2026, 10:58:52 PM
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.
Title: Re: SDL2 driver is unavailable for FluidSynth > 2.5.0
Post by: prissi on April 02, 2026, 01:30:52 PM
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 :(
Title: Re: SDL2 driver is unavailable for FluidSynth > 2.5.0
Post by: Roboron on April 02, 2026, 03:29:02 PM
Trying the latest Steam nightly, it seems that the pulseaudio driver does not work there. I will have to find another way :-/