Simple DirectMedia Layer

From FreeGameDevWiki
Jump to: navigation, search

The Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power."


SDL supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code contains support for AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS, and OS/2, but these are not officially supported.


SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, C#, D, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, Smalltalk, and Tcl.


SDL is distributed under GNU LGPL version 2. This license allows you to use SDL freely in commercial programs as long as you link with the dynamic library.

Addon libraries

There are a few libaries that can be used as an extension to SDL. They contain subroutines that enhance the image loading, audio handling and text drawing capabilities of SDL.




  • Programming Linux Games (ISBN 978-1886411494) by John R. Hall, Loki Software - No Starch Press (2001)
  • Focus on SDL (ISBN 978-1592000302) by Ernest Pazera - Course Technology PTR (2002)
  • Linux Game Programming (ISBN 978-0761532552) by Mark Collins, Martin Donlin, Steve Baker, Ben Campbell - Muska & Lipman/Premier-Trade (2002)
  • Spieleprogrammierung mit SDL (ISBN 978-3446412118) by Johannes P.-M. Kühn, Matthias Schlemm - Hanser Fachbuch (2008)