SDL3/FrontPage (original) (raw)
This is the SDL3 wiki. SDL2 is over here!
Try it right now](#try-it-right-now)
SDL3 has officially released and is ready for you to start using now.
Need some motivation? Here's a list of New Features that you can enjoy today in SDL3! If you're coming from SDL2 check out the 2 to 3 Migration Guide.
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, and several other platforms.
SDL is written in C, works natively with C++, and has bindings available for several other languages, including C#, Python, and Rust.
SDL 3.0 (often shortened to "SDL3") 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.
Getting Started
| Source Code | How to download the source code to SDL. |
|---|---|
| Installation | How to install SDL on your platform of choice and link your program against it. |
| API by Category | Reference documentation for all of SDLs Subsystems can be found here. |
| Take a look at some tutorials to guide you through learning SDL. | |
| Examples | Small programs that each demonstrate a feature of the library. |
| Demos | Simple but complete games and apps. |
| Frequently Asked Questions | Questions developers often ask when using SDL. |
| SDL Communities | Communities you can follow to help and get help with SDL |
API Documentation
Other sources of information
- Articles and Videos
- SDL 2.0 Migration Guide
- covering more advanced topics
- to extend SDL functionality
- Forums/mailing lists and of course a Discord server. Both are great places to keep up with the latest news, help other users out, and ask questions.
Satellite libraries
There are other libraries that are developed by the SDL team, but aren't part of SDL itself. They are also documented on this wiki:
- SDL_image: Load image files (bmp, gif, jpg, many others) into an SDL_Surface or SDL_Texture.
- SDL_ttf: Load font files (ttf, etc) and render text with them.
- SDL_mixer: Load audio files (wav, mp3, ogg, many others), mix multiple sounds, apply effects to them.
- SDL_net: A fairly low-level wrapper over common networking tasks.
Other stuff
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.
Enjoy!