SDL

SDL

Cross-platform multimedia development library

Description

Writing a game or player in C means every platform handles windows, keyboards, controllers and audio differently, so just opening a window on three systems takes three code paths. SDL wraps those low-level interfaces into one API so the same code runs everywhere.

It is a cross-platform development library written in C that drives OpenGL, Direct3D, Metal and Vulkan underneath, and handles audio, input devices and events. Many Steam games, emulators and players use it, C++ calls it directly, and Python and C# have bindings.

Features



Windows and rendering:Create windows and use the 2D render API or talk to the GPU directly.

Input devices:Keyboard, mouse, controllers, touch and haptics all arrive as one event model.

Audio:Capture and play audio streams without worrying about platform differences.

Many platforms:Supports Windows, macOS, Linux, iOS and Android.

SDL3:The current release is SDL3, with x64 and x86 packages for Windows under the permissive zlib license.