Original author(s) | Sam Lantinga |
---|---|
Developer(s) | SDL Community |
Initial release | 1998 |
Stable release | 2.30.7[1]
/ 1 September 2024 |
Repository | |
Written in | C |
Operating system | Linux (e.g. SteamOS), Windows, macOS 10.4+, iOS 3.1.3+, tvOS,[2] Android 2.3.3+, FreeBSD 8.4+, Nintendo Switch, PlayStation 2, Haiku, RISC OS 3.5+[3] Additionally before v2.0.0: e.g. AmigaOS and MorphOS, and consoles (PlayStation, XBox, Wii, etc), Nintendo DS |
Type | API |
License | zlib License Before 2.0.0: GNU LGPL[4] |
Website | www |
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.[5]
SDL manages video, audio, input devices, threads, shared object loading, networking and timers.[6] For 3D graphics, it can handle an OpenGL, Vulkan,[7] Metal, or Direct3D11 (older Direct3D version 9 is also supported) context. A common misconception is that SDL is a game engine. However, the library is suited to building games directly, or is usable indirectly by engines built on top of it.
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.[8] It is free and open-source software subject to the requirements of the zlib License since version 2.0, and with prior versions subject to the GNU Lesser General Public License.[4] Under the zlib License, SDL 2.0 is freely available for static linking in closed-source projects, unlike SDL 1.2,[9] although it's possible for the user to override the statically linked library with one provided by them.[10] SDL 2.0, released in 2013, was a major departure from previous versions, offering more opportunity for 3D hardware acceleration, but breaking backwards-compatibility, a wrapper library made to translate 1.2 calls to 2.0 was later made available.[11]
SDL is extensively used in the industry in both large and small projects. By 2010, over 700 games, 180 applications, and 120 demos had been posted on the library website.[12]