SDL3 mature enough?

SDL3 mature enough?

As I noticed, SDL3 has been around for a good year now.
Can you use SDL3 with confidence, or is it not yet fully developed?

SDL3 hasn’t been officially released yet. Breaking API and ABI changes might still happen.


As it can be seen in the valve bugtracker, some games are now using SDL3, so even if it not stable it seems to work well enough for some games and companies.

1 Like

Also, if you prefer to memorize API’s instead of using intelisense, the naming scheme is so much nicer. No more trying to remember if you have to free this or destroy that, and while the event names are more verbose they are somehow easier to remember.

I program strictly in a non-upgraded vim editor, and I find I’m much less likely to have stop and check the documentation when I’m using SDL3.

I just noticed the following with “git pull”.
That seems like a major change to me.
A header that will be renamed and the functions contained there will also be given new names.

 include/SDL3/{SDL_rwops.h => SDL_iostream.h}                             | 646 +++++++++++++++++++++++++++++++++++---------------------------------------
 include/SDL3/SDL_oldnames.h                                              |  46 ++++--
 include/SDL3/SDL_storage.h                                               | 277 ++++++++++++++++++++++++++++++++

Meh. “rwops” was always a silly name. What it does, conceptually, is found in all sorts of other languages, and AFAIK all of them call it a “stream.” A lot of them even call it some variation on “I/O stream”. So this is a welcome change, and a long overdue one.

There are a lot of major changes, that’s why it’s SDL3. :slight_smile:

Many things have been renamed or reworked (and in some cases, removed), in addition to a bunch of new features.

We only do this about once a decade or so, and this time, if you really want to stick with the SDL2 API, we have provided the sdl2-compat library right from the start. This will let you keep using the same SDL2 API, but it uses SDL3 behind the scenes, so you’ll get better platform support and bugfixes without changing (or maybe even recompiling!) your SDL2 app.


I assume that support for OpenGLES 1 is gone, as anticipated, so I won’t be able to use SDL3 irrespective of the existence of that library.