Bug#1033105: unblock: libsdl2/2.26.4+dfsg-1

Simon McVittie smcv at debian.org
Fri Mar 17 12:07:12 GMT 2023


Package: release.debian.org
Severity: normal
User: release.debian.org at packages.debian.org
Usertags: unblock
X-Debbugs-Cc: libsdl2 at packages.debian.org
Control: affects -1 + src:libsdl2

Please unblock package libsdl2

[ Reason ]
* New upstream stable release
* Fix axis/button mapping for game controllers with older drivers/firmware
* Fix missing input from (some?) Playstation 4 gamepads in raw HID mode

[ Impact ]
If not accepted:

Users with older kernels or game controller firmware could get the
mapping between button/axis index and user-visible purpose reported in
the order that would have been correct for a newer kernel or firmware,
causing inputs to have unexpected results. This was reported upstream
for Xbox controllers on older Linux versions, but it's a more general
bug that could affect other devices.

If the user has rw permission on game controllers' /dev/hidraw* device
nodes (for example the steam-devices package sets this up), Playstation
4 gamepads would ignore input while in "simple mode" (rumble/vibration
disabled).

[ Tests ]
Manual testing: launching some open source and proprietary SDL2 games
still works fine. (OpenArena; Steam; Battletech, deleting its bundled
SDL so the system copy will be used, including use of a PS4 controller.)

A rebuild of basically this version (disabling the more obscure audio
backends) is included in the beta branch of Valve's Steam Linux Runtime
compatibility framework, giving it wider testing. That version was
tested with various games before the beta release: according to my
notes, test targets included Aperture Desk Job, Horizon Chase Turbo,
Life is Strange, Life is Strange 2, Battle for Wesnoth, Game Dev Tycoon,
Portal 2 and Steel Rats, with PS4, PS5 and Xbox Series controllers.

There are also autopkgtests, which pass, but they're superficial: most
of SDL deals with input and output that aren't straightforward to test
automatically.

[ Risks ]
In general the changes are narrowly-targeted. The highest risk would be
that the fixes for game controller axis/button mapping could introduce
a bug of similar severity to the one they're fixing (unintended mappings
used).

test/testime.c was re-indented, resulting in a larger than expected diff.
I'm not sure why upstream did this in a stable branch, but that code is a
manual test (/usr/libexec/installed-tests/SDL2/testime in libsdl2-tests)
and is not run by games or during automated testing, so that change
is harmless.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

unblock libsdl2/2.26.4+dfsg-1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libsdl2_2.26.4+dfsg-1.diff
Type: text/x-diff
Size: 28095 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-sdl-maintainers/attachments/20230317/0065c74d/attachment-0001.diff>


More information about the Pkg-sdl-maintainers mailing list