Support for version 2: Linux (e.g. SteamOS), Windows, macOS 10.4+, iOS 3.1.3+, tvOS,[4] Android 2.3.3+, FreeBSD 8.4+, Nintendo Switch, PlayStation 2, Haiku, RISC OS 3.5+,[5] MorphOS 0.4+[6][7] Simple DirectMedia Layer (SDL) is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components.
Software developers can use it to write high-performance computer games and other multimedia applications that can run on many operating systems such as Android, iOS, Linux, macOS, and Windows.
[9] SDL manages video, audio, input devices, threads, shared object loading, networking and timers.
The library is internally written in C and possibly, depending on the target platform, C++ or Objective-C, and provides the application programming interface in C, with bindings to other languages available.
He also founded Galaxy Gameworks in 2008 to help commercially support SDL, although the company plans are currently on hold due to time constraints.
The only purpose of SDL is to provide a common framework for accessing these functions for multiple operating systems (cross-platform).
[30] SDL provides support for 2D pixel operations, sound, file access, event handling, timing and threading.
SDL is divided into several subsystems:[31] Besides this basic, low-level support, there also are a few separate official libraries that provide some more functions.
[63] Important commercial examples are Angry Birds,[64] Unreal Tournament, and games developed using Valve's Source Engine, which uses SDL extensively for cross-platform compatibility; ones from the open-source domain are OpenTTD,[65] The Battle for Wesnoth[66] or Freeciv.
[67] The cross-platform game releases of the popular Humble Indie Bundles for Linux, Mac and Android are often SDL-based.
For instance, the PC game Homeworld was ported to the Pandora handheld[68] and Jagged Alliance 2 for Android[69] via SDL.