SDL 3 – Hits Stable ABI Release

SDL, or the Simple DirectMedia Layer is one of the most popular game development frameworks, used to make hundreds of successful games (such as Angry Birds) as well as powering dozens of Valve/Source games. SDL 3 is on the horizon with a major milestone being recently hit, a stable ABI with the SDL 3.1.3 preview release.

Features of SDL 3 over SDL 2:

  • Extremely good documentation: We’ve spent a ton of effort writing and revising the API reference.
  • Example programs to get you started, running in your web browser!
  • More consistent API naming conventions. Everything is named consistently across the API now, instead of different subsystems taking different approaches. Also, we’ve tended toward more descriptive names for things in SDL3.
  • GPU API: access to modern 3D rendering and GPU compute in a cross-platform way.
  • Dialog API: access to system file dialogs (file and folder selection UI for opening/saving).
  • Filesystem API: simple directory management and globbing, access to topic-specific user folders.
  • Storage API: Abstract interface to platform-specific storage.
  • Camera API: access to webcams.
  • Main Callbacks: optionally run your program from callbacks instead of main().
  • Pen API: access to pens (like Wacom tablets and Apple Pencil, etc).
  • Logical audio devices: different parts of an app can get their own unique audio device to use.
  • Audio streams: handle buffering, converting, resampling, mixing, channel mapping, pitch, and gain. Bind to an audio device and go!
  • Default audio devices: SDL3 will automatically manage migrating to new physical hardware as devices are plugged in, ripped out, or changed.
  • Properties API: fast, flexible dictionaries of name/value pairs.
  • Process API: Spawn child processes and communicate with them in various ways.
  • Colorspace support: Surfaces and the renderer, etc, can manage multiple colorspaces.
  • The Clipboard API can support any data type (SDL2 only handled text), and apps can provide data in multiple formats upon request in a provided callback.
  • Better keyboard input, for all your keypress needs.
  • Customizable virtual keyboards on iOS and Android.
  • High DPI support is dramatically improved over SDL2.
  • App metadata API for letting SDL report things about your app correctly (like in the About dialog on macOS, etc).
  • Read/write thread locks, to let multiple threads access rarely-changing data in parallel.
  • Init State to help with multiple threads that might need to initialize something on-demand without racing.

Key Links

SDL Homepage

SDL 3 Preview Release Notes

Games Made Using SDL on Steam

You can learn more about the Simple DirectMedia Layer and specifically about SDL 3 in the video below. This video was sponsored by TechSmith the makers of Camtasia (which is what I use to create all of my videos). You can learn more about Camtasia here and use code GAMEFROMSCRATCH at checkout for 15% off.

Scroll to Top