What is it?
Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL/Direct3D/Metal/Vulkan. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.
SDL officially supports Windows, macOS, Linux, iOS, and Android. Support for other platforms may be found in the source code.
SDL is written in C, works natively with C++, and there are bindings available for several other languages, including C# and Python.
SDL 2.0 is distributed under the zlib license. This license allows you to use SDL freely in any software.
This is the SDL wiki; SDL's main website is libsdl.org.
This wiki is your portal to documentation and other resources for SDL 2.0.
Using the SDL documentation Wiki
- An introduction to the features in SDL 2.0.
Includes a Migration Guide from 1.2 to 2.0!
- Source Code
- How to download the source code to SDL.
- How to install SDL on your platform of choice and link your program against it.
- API reference by Name or by Category
- The official documentation for the API. Look here to find detailed information about the functions, structures, and enumerations.
- Want to learn about a feature in SDL you haven't used before? Here's a great place to get started!
- A sampling of the articles that have been written about SDL.
- Additional libraries to extend SDL functionality.
- Looking for more information than you can get online? Check out the books listed here.
- A few of the most commonly asked questions about using SDL are answered here.
- A great place to keep up with the latest news, help other users out, and ask questions.
- Users wishing to contribute content to the wiki should follow the guidelines provided in this guide.
We hope you find everything you are looking for and enjoy using SDL. If anything is not addressed somewhere here, feel free to open an issue or submit a pull request.