Skip to main content
Share Your Experience: Take the 2024 Developer Survey

SDL2 (Simple DirectMedia Layer 2) is designed to provide platform independent access to various common multimedia devices. It is the new, current and updated version of SDL and recommended for new projects over legacy SDL1.2

Official Website

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 and Direct3D. 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, Mac OS X, 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.

Unlike SDL, SDL2 almost always provides a hardware accelerated interface, increasing rendering performance. Official and unofficial bindings are available for C, C++, C#, Rust, Lua, Haskell, Go, Java (incl. Android) and Python (among others). SDL2 supports Windows, Linux, OS X 10.5+, iOS, Android 2.3.3+, FreeBSD 8.4+ and Haiku.