sdl2-compat is a reimplementation of the SDL 2 API using SDL 3, allowing
distros to keep SDL 2 games working without having to maintain "classic"
SDL 2 as an independent project forever. It's the same idea as
sdl12-compat, which replaced libsdl1.2 in Debian 13.
Now that the Debian 14 release cycle has started, one of the items on my
to-do list is seeing whether we can replace "classic" SDL2 with
sdl2-compat. To do that, I need some help from other Debian
contributors, and especially the games team.
Please test SDL2 apps and games in Debian (or even SDL 1.2 games via
sdl12-compat!), and see whether they still work with sdl2-compat. There
are two configurations that make sense:
1. "Classic" SDL2 as the default, sdl2-compat available as opt-in:
$ sudo apt install libsdl2-2.0-0 libsdl2-compat
$ SDL2COMPAT_DEBUG_LOGGING=1 \
SDL_DYNAMIC_API='/usr/$LIB/sdl2-compat/libSDL2-2.0.so.0' \
openarena
2. Instead making sdl2-compat the default, with an opt-out to go back to
"classic" SDL2 temporarily:
$ sudo apt install libsdl2-compat-shim libsdl2-classic
$ SDL2COMPAT_DEBUG_LOGGING=1 \
openarena
(Add SDL_DYNAMIC_API='/usr/$LIB/sdl2-classic/libSDL2-2.0.so.0' to
try with classic SDL 2 to check whether a bug is really a regression.
This configuration is available in testing/unstable/experimental
but not in trixie.)
If an app/game works with "classic" SDL2, but does not work with
sdl2-compat, please report a bug upstream and/or in Debian with all the
details, including version numbers and SDL2COMPAT_DEBUG_LOGGING=1
output.
Please see
<https://salsa.debian.org/sdl-team/sdl2-compat/-/blob/HEAD/debian/README.Debian>
(or <file:///usr/share/doc/libsdl2-compat/README.Debian.gz> in
unstable/experimental) for more information, especially if you are using
a Wayland desktop (GNOME, KDE Plasma, Weston, Sway, etc.)
The versions of sdl2-compat and SDL3 in Debian 13 'trixie' are not very
new, and have some known bugs. They are enough for some games but I
wouldn't recommend putting much effort into testing them - if you report
a bug, upstream will just ask whether it still occurs in the latest
version.
The latest upstream stable releases of sdl2-compat and SDL3 are
available in Debian testing and unstable. I intend to keep these up to
date (co-maintainers welcome of course).
Recent upstream development snapshots of sdl2-compat and SDL3 are
available in Debian experimental. They might have more bug fixes than
the ones in unstable, but they might also have more bugs. If you find
regressions, please report them upstream and in Debian. If you find
apps/games that work with the versions in experimental but not the
versions in unstable, please report those as Debian bugs (tagged as
fixed-upstream or with version tracking), so that we can get an idea of
how common this is.
Thanks,
smcv