From Fedora Project Wiki
(submitting change to fesco)
(adding tracker bug)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
= Replace SDL 2 with sdl2-compat using SDL 3 =
= Replace SDL 2 with sdl2-compat using SDL 3 =
{{Change_Proposal_Banner}}


== Summary ==
== Summary ==
Line 20: Line 18:


== Current status ==
== Current status ==
[[Category:ChangeReadyforFesco]]
[[Category:ChangeAcceptedF42]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 41: Line 39:
* [https://discussion.fedoraproject.org/t/f42-change-proposal-replace-sdl-2-with-sdl2-compat-using-sdl-3-self-contained/138987 Discussion thread]
* [https://discussion.fedoraproject.org/t/f42-change-proposal-replace-sdl-2-with-sdl2-compat-using-sdl-3-self-contained/138987 Discussion thread]
* FESCo issue: [https://pagure.io/fesco/issue/3301 #3301]
* FESCo issue: [https://pagure.io/fesco/issue/3301 #3301]
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2335933 #2335933]
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: <will be assigned by the Wrangler>



Latest revision as of 18:58, 6 January 2025

Replace SDL 2 with sdl2-compat using SDL 3

Summary

This Change proposes to replace SDL 2 with sdl2-compat, which uses SDL 3.

Owner


Current status

Detailed Description

SDL 2 feature development ended some time ago with efforts being focused on SDL 3. However, many older games still use SDL 2 and cannot change to SDL 3. In order to continue to support SDL 2 games in the modern world, let's replace SDL 2 with sdl2-compat, which uses SDL 3. This also has the effect of moving SDL 1.2 games to SDL3 through sdl12-compat running on sdl2-compat.


Feedback

Benefit to Fedora

Switching SDL 2 powered games to use sdl2-compat ensures that SDL-based applications continue to use the actively developed codebase. This also has the effect of SDL 1.2 powered games that use sdl12-compat to run on SDL3 as well through the fully supported path of sdl12-compat running on sdl2-compat running on SDL3.

Scope

  • Other developers:
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with the Fedora Strategy: N/A (not needed for this Change)

Upgrade/compatibility impact

The SDL2 package would be transparently upgraded to libsdl2-compat package and games using it should just transparently start using SDL 3.0.


How To Test

The testing steps are simple:

0. Enable the SDL2onSDL3 COPR: dnf copr enable ngompa/SDL2onSDL3

1. Swap SDL2 for sdl2-compat: dnf swap SDL2 sdl2-compat

2. Run something that uses SDL 2 like supertuxkart and see that it works.

3. Run something that uses SDL 1.2 like icebreaker and see that it works.

Issues should be reported upstream for the fastest response: https://github.com/libsdl-org/sdl2-compat/issues


User Experience

There shouldn't be a noticeable user impact, other than possibly a smoother experience because applications are using SDL 3.0.

Dependencies

Contingency Plan

  • Contingency mechanism: Revert back to shipping SDL2 / mingw-SDL2 packages
  • Contingency deadline: Final Freeze
  • Blocks release? N/A (not a System Wide Change)

Documentation

N/A (not a System Wide Change)

Release Notes

Applications that use SDL 2 will now transparently use SDL 3 through the sdl2-compat package. This makes it so applications that historically used SDL 2 now use SDL 3.