# Simple DirectMedia Layer 2.0 This is the SDL2 wiki. SDL3 is [over here](/SDL3)! ## Future Support While we will accept GitHub pull requests and may release critical fixes, we have no further planned releases of SDL 2.0. For new development, we recommend starting with [SDL 3.0](https://github.com/libsdl-org/SDL). For projects that need to continue using SDL 2.0, we recommend [sdl2-compat](https://github.com/libsdl-org/sdl2-compat) which is both ABI (binary drop in) and API compatible. Many issues in SDL 2.0 have been resolved in sdl2-compat, and if you're still seeing an issue once you switch, please [report it](https://github.com/libsdl-org/sdl2-compat/issues)! ## 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](http://valvesoftware.com)'s award winning catalog and many [Humble Bundle](https://www.humblebundle.com) 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](https://www.libsdl.org/license.php). This license allows you to use SDL freely in any software. This is the SDL wiki; SDL's main website is [libsdl.org](https://libsdl.org/). This wiki is your portal to documentation and other resources for SDL 2.0. ## Using the SDL documentation Wiki - [Introduction](Introduction) An introduction to the features in SDL 2.0.
Includes a Migration Guide from 1.2 to 2.0! - [Source Code](SourceCode) How to download the source code to SDL. - [Installation](Installation) How to install SDL on your platform of choice and link your program against it. - API reference by name ([Functions](CategoryAPI), [Structures](CategoryAPIStruct), and [Enumerations](CategoryAPIEnum)) or [by Category](APIByCategory) The official documentation for the API. Look here to find detailed information about the functions, structures, and enumerations. - [Tutorials](Tutorials) Want to learn about a feature in SDL you haven't used before? Here's a great place to get started! - [Articles](Articles) A sampling of the articles that have been written about SDL. - [Libraries](Libraries) Additional libraries to extend SDL functionality. - [Books](Books) Looking for more information than you can get online? Check out the books listed here. - [FAQs](FAQs) A few of the most commonly asked questions about using SDL are answered here. - [Discord Server](https://discord.gg/BwpFGBWsv8) Feel free to ask questions and talk with other developers using SDL2 via discord. - [Forums](https://discourse.libsdl.org/) A great place to keep up with the latest news, help other users out, and ask questions. - [Contributing](https://wiki.libsdl.org/SDL3/README-documentation-rules) Users wishing to contribute content to the wiki should follow the guidelines provided in this guide. ## API References - [API by category](APIByCategory) - [Complete API index](CategoryAPI) - [All functions](CategoryAPIFunction) - [All structures/unions](CategoryAPIStruct) - [All enums](CategoryAPIEnum) - [All macros](CategoryAPIMacro) 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](https://github.com/libsdl-org/SDL/issues) or [submit a pull request](https://github.com/libsdl-org/SDL/pulls). *Enjoy!*