Your message dated Fri, 24 Apr 2026 16:05:12 +0100
with message-id <[email protected]>
and subject line Re: Bug#1130484: transition: src:sdl2-compat taking over 
libsdl2-2.0-0, libsdl2-dev
has caused the Debian Bug report #1130484,
regarding transition: src:sdl2-compat taking over libsdl2-2.0-0, libsdl2-dev
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1130484: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1130484
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: [email protected], 
[email protected]
Control: affects -1 + src:sdl2-compat
User: [email protected]
Usertags: transition

SDL upstream is in the process of phasing out "classic" src:libsdl2 (an 
independent library), replacing it with src:sdl2-compat (a compatibility 
shim which dlopens libsdl3 and uses it to implement the SDL 2 API/ABI).  
This is very similar to the transition from src:libsdl1.2 to 
src:sdl12-compat that we did in trixie 
(https://bugs.debian.org/1039911). Faster-moving distributions like Arch 
and Fedora have already made this switch, and I think it's time for 
Debian to do the same.

This is a "soft" transition with no SONAME bump: the new library is 
intended to be fully API- and ABI-compatible with the old (same SONAME, 
same pkg-config module name, same CLI interface to the legacy 
sdl2-config script, different implementation internally), so it's more 
like an unusually intrusive minor-version release. After approving the 
transition, the release team will hopefully not need to take any further 
action.

src:sdl2-compat in experimental already implements the proposed design.

I intend to keep src:libsdl2 in the archive, at least initially: that 
way, users who encounter a regression can install the libsdl2-classic 
package and force its use via environment variables as documented in 
<https://salsa.debian.org/sdl-team/sdl2-compat/-/blob/debian/snapshots/debian/README.Debian?ref_type=heads>.
  
It should probably be removed before forky+1, or perhaps before forky if 
the transition goes particularly well.

Risks
=====

I did a mass-rebuild, partly on debusine and partly locally or on 
porterboxes. All 3 FTBFS bugs found (test failures) have been fixed by 
improvements to the affected packages. I've also tested an assortment of 
SDL 2 games (and SDL 1.2 games via sdl12-compat), and asked -devel and 
the games team to help with testing (back in September 2025) with no 
regressions reported as a result.

As with the SDL 1.2 transition, it isn't really feasible for me to test 
every SDL 2 game myself, and I generally haven't been testing non-game 
applications that use SDL (many of which are emulators requiring ROMs 
that I don't have, or specialized music apps that I don't know how to 
use).

Known regressions are listed here, and at the time of writing have all 
been fixed: 
<https://bugs.debian.org/cgi-bin/[email protected];tag=regression>

The API/ABI is the same, but there are various subtle behaviour changes 
between libsdl2 and sdl2-compat that could break games' expectations 
(especially if they are relying on behaviours that were never intended 
to be guaranteed), either as a result of intentional changes or as a 
result of SDL bugs. The ones I know about are:

* "Classic" SDL 2 defaults to X11, via Xwayland if necessary.
  sdl2-compat defaults to native Wayland if a sufficiently capable
  compositor is detected. This will break games that blindly assume
  that Unix implies X11, and could also expose Wayland-related bugs that
  were previously hidden, such as <https://bugs.debian.org/1124335>. The
  correct fix for a game that assumes X11 is to make the game tell SDL
  "use only X11", but for proprietary games or games that are otherwise
  hard to modify, sdl2-compat has a "quirks" table that can automatically
  force X11 based on the name of the executable.

* libsdl3 has a Vulkan backend for the rendering API, which sdl2-compat
  will use if appropriate. It is unlikely to be perfectly bug-for-bug
  compatible with the OpenGL or software backends. If necessary,
  sdl2-compat's quirks table can be used to work around this.

* sdl2-compat has slightly different behaviour around paletted
  (256-colour) windows and textures, which caused a regression for the
  autopkgtest and build-time tests of the SDL 1.2 Perl binding. I worked
  around this in sdl12-compat for now, but when we switch to sdl2-compat
  we'll want to do a coordinated upload of sdl12-compat reverting that
  workaround.

The only autopkgtest regression listed in 
https://qa.debian.org/excuses.php?experimental=1&package=sdl2-compat is 
for yuzu on arm64, but yuzu isn't in testing (*because* it's broken on 
arm64, in fact) so this shouldn't prevent transition.

    smcv

--- End Message ---
--- Begin Message ---
On Fri, 10 Apr 2026 at 19:04:13 +0200, Sebastian Ramacher wrote:
On 2026-03-12 12:29:09 +0000, Simon McVittie wrote:
SDL upstream is in the process of phasing out "classic" src:libsdl2 (an
independent library), replacing it with src:sdl2-compat (a compatibility
shim which dlopens libsdl3 and uses it to implement the SDL 2 API/ABI).

Go ahead.

sdl2-compat/2.32.66+ds-2 took over the libsdl2-2.0-0 and libsdl2-dev package names. libsdl2/2.32.10+dfsg-7 dropped those binary packages, leaving it only producing libsdl2-{classic,doc,tests}.

Both migrated without incident, so I'm closing this transition tracker. If there are regressions reported, we can handle them as ordinary bugs, and users can use libsdl2-classic as a short-term workaround or for debugging.

I'll probably ask for the removal of src:libsdl2 before the forky freeze (assuming that any remaining regressions have been resolved by then), to avoid having it in another stable release.

Thanks,
    smcv

--- End Message ---

Reply via email to