Simple DirectMedia Layer supports Linux, Windows, BeOS, MacOS Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. There is also code, but no official support, for Windows CE, AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64, RISC OS, and SymbianOS.
SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, Eiffel, Java, Lua, ML, Perl, PHP, Pike, Python, and Ruby.
What's New in This Release: [ read full changelog ]
· Fixed flicker when resizing the SDL window
· Fixed crash in SDL_SetGammaRamp()
· Fixed freeze in SDL_memset() with 0 length when assembly code is disabled.
· Added SDL_DISABLE_LOCK_KEYS environment variable to enable normal up/down events for Caps-Lock and Num-Lock keys.
· Fixed audio quality problem when converting between 22050 Hz and 44100 Hz.
· Fixed a threading crash when a few threads are rapidly created and complete.
· Increased accuracy of alpha blending routines.
· Fixed crash loading BMP files saved with the scanlines inverted.
· Fixed mouse coordinate clamping if SDL_SetVideoMode() isn't called in response to SDL_VIDEORESIZE event.
· Added doxygen documentation for the SDL API headers.
· Fixed potential memory corruption due to assembly bug with SDL_revcpy()
· Fixed crashes trying to detect SSE features on x86_64 architecture.
· Fixed assembly for GCC optimized 50% alpha blending blits.
· Added configure option --enable-screensaver, to allow enabling the screensaver by default.
· Use XResetScreenSaver() instead of disabling screensaver entirely.
· Removed the maximum window size limitation on X11.
· Fixed SDL_GL_SWAP_CONTROL on X11.
· Fixed setting the X11 window input hint.
· Fixed distorted X11 window icon for some visuals.
· Fixed detecting X11 libraries for dynamic loading on 64-bit Linux.
· SDL_GL_GetAttribute(SDL_GL_SWAP_CONTROL) returns the correct value with GLX_SGI_swap_control.
· Added SDL_VIDEO_FULLSCREEN_DISPLAY as a preferred synonym for SDL_VIDEO_FULLSCREEN_HEAD on X11.
· The SDL_VIDEO_FULLSCREEN_DISPLAY environment variable can be set to 0 to place fullscreen SDL windows on the first Xinerama screen.
· Added the SDL_VIDEO_FBCON_ROTATION environment variable to control output orientation on the framebuffer console. Valid values are: not set - Not rotating, no shadow; "NONE" - Not rotating, but still using shadow; "CW" - Rotating screen clockwise; "UD" - Rotating screen upside down; "CCW" - Rotating screen counter clockwise.
· Fixed DirectFB detection on some Linux distributions.
· Added code to use the PS3 SPE processors for YUV conversion on Linux.
· Updated ALSA support to the latest stable API
· ALSA is now preferred over OSS audio. (SDL_AUDIODRIVER=dsp will restore the previous behavior.)
· Improved support for PulseAudio
· The Network Audio System support is now dynamically loaded at runtime.
· Fixed crash with the MP-8866 Dual USB Joypad on newer Linux kernels.
· Fixed crash in SDL_Quit() when a joystick has been unplugged.