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

Reply via email to