SDL Wiki

Introduction to SDL 2.0

Introduction to SDL

What is SDL?

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.

For the latest information on what is supported see the page about Installation.

SDL is written in C, works natively with C++, and there are bindings available for several other languages, including C# and Python.

For the latest list of languages see

SDL 2.0 is distributed under the zlib license. This license allows you to use SDL freely in any software. The Simple DirectMedia Layer library (SDL) is a general API that provides low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D framebuffer across multiple platforms.

What can SDL do?

Read ahead for an overview of what SDL is capable of. If you're simply interested in the changes from 1.2 to 2.0, check out the Migration Guide.


Input Events

Force Feedback


File I/O Abstraction

Shared Object Support



CPU Feature Detection

Endian Independence

Power Management

What platforms does SDL run on?


Mac OS X




How to get and install SDL

You can get the source code and build and install it.

Transitioning from SDL 1.2 to 2.0

If you used SDL 1.2 previously and you want to use SDL 2.0, please note there are some API changes and some of your code will need to be adapted.

The migration guide lists the feature differences and how to adapt old code to the new SDL 2.0:

[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.