Google

[separator]

This source is stable, and is fully tested on all supported platforms.
Please send bug reports or questions to the SDL mailing list:
http://www.libsdl.org/mailing-list.php
The latest stable release may be found on the SDL website.

API Documentation

Major changes since SDL 1.0.0:

  • 1.2.5: Added an environment variable SDL_HAS3BUTTONMOUSE for Quartz
  • 1.2.5: Added initial support for Dreamcast (thanks HERO!)
  • 1.2.5: Implemented resizing Cocoa windows (thanks Darrell!)
  • 1.2.5: Updated Quartz video code for MacOS X 10.2 (thanks Darrell!)
  • 1.2.5: Added an environment variable SDL_VIDEO_WINDOW_POS for X11
  • 1.2.5: Fixed mouse focus problems caused by X11 'unclutter' hack
  • 1.2.5: Applied John's fix for left-handed mice under Windows.
  • 1.2.5: Gamepads and other HID devices should work under MacOS X
  • 1.2.5: Fixed missing cursor after shadow buffer flip (thanks Jan!)
  • 1.2.5: Updated MacOS projects with "enums as int" build option
  • 1.2.5: Added -benchmark flag to testvidinfo for testing video speed
  • 1.2.5: Added accelerated YUV code to DirectFB driver (thanks Denis!)
  • 1.2.5: Command line apps on MacOS X go to forground (thanks Max!)
  • 1.2.5: Fixed aRts runtime sound daemon detection
  • 1.2.5: Improved the Nano-X video support (thanks Greg!)
  • 1.2.5: Updated Borland projects for Kylix 3 (thanks Dominique)
  • 1.2.5: Added compile-time checking for the size of enums
  • 1.2.5: Fixed offset bug in hardware accelerated fills and blits
  • 1.2.5: Fixed serious bugs in BSD HID joystick code (thanks Krister!)
  • 1.2.5: Added project files for embedded Visual C++ 4.0
  • 1.2.5: Added SDL_BUTTON_WHEELUP (4) and SDL_BUTTON_WHEELDOWN (5)
  • 1.2.5: Added SDL_GL_STEREO for stereoscopic OpenGL contexts
  • 1.2.5: Added the environment variable SDL_VIDEO_X11_WMCLASS
  • 1.2.5: Fullscreen windows are always topmost in Windows
  • 1.2.5: Fixed mouse grab going fullscreen to windowed in Windows
  • 1.2.5: Fixed VidMode error when running on XFree86 3.3
  • 1.2.5: Fixed Quartz mouse motion and window centering bugs
  • 1.2.5: Updated configure.in for automake 1.6.2
  • 1.2.5: Fixed building Windows DLL with latest native Cygwin tools
  • 1.2.5: Added a way to get the Windows OpenGL context in SDL_syswm.h
  • 1.2.5: Removed DDFLIP_WAIT flag from DirectX flip for performance
  • 1.2.5: Zeroed SDL_Surface::unused1 so glSDL will work on stock SDL
  • 1.2.5: Only modifier key state is noted when X11 window opens
  • 1.2.5: Added initial support for PicoGUI (thanks Micah!)
  • 1.2.5: Fixed SDL_DisplayFormatAlpha() on RGB surfaces with alpha
  • 1.2.5: Added pthread detection for HP-UX 11.X
  • 1.2.5: SDL_Init(SDL_INIT_JOYSTICK) on MacOS X works with no joystick
  • 1.2.5: Fixed DirectX software surface memory leak
  • 1.2.5: Fixed video initialization crash on Windows CE
  • 1.2.5: Updated the QNX audio code for QNX 6.2 (thanks Travis!)
  • 1.2.5: Fixed building with pthread and pth support on UNIX
  • 1.2.5: Added detection of several joysticks to Linux code
  • 1.2.5: Fixed thread detection and joystick code for NetBSD
  • 1.2.5: Added support for audio in the Atari port (thanks Patrice!)
  • 1.2.5: Added check for ENOMEDIUM to the Linux CDROM code
  • 1.2.5: Added YUV hardware acceleration on MacOS X (thanks Darrell!)
  • 1.2.5: Fixed building shared libraries on MacOS X (thanks Max!)
  • 1.2.5: Use secondary audio buffers in DirectSound by default
  • 1.2.5: Fixed window tab on Windows taskbar after application quit
  • 1.2.5: Fixed setting OpenGL mode multiple times on Windows
  • 1.2.5: Added Zaurus PDA (Qtopia) support by David Hedbor
  • 1.2.5: Removed README.OpenBSD - SDL works out of the box on OpenBSD
  • 1.2.5: Fixed crash in QZ_SetCaption() (thanks Darrell)
  • 1.2.5: Updated ALSA audio support for ALSA 0.9
  • 1.2.5: Don't build RPM archives with ALSA library dependencies
  • 1.2.5: SDL_PollEvent()/SDL_WaitEvent() return values now match docs
  • 1.2.4: Added initial support for Atari (thanks Patrice!)
  • 1.2.4: Added support for building SDL for EPOC/SymbianOS 6.0
  • 1.2.4: SDL now compiles and works cleanly on stock BSDI
  • 1.2.4: Added support for joysticks on *BSD (thanks Wilbern!)
  • 1.2.4: Added support for Xi Graphics XME fullscreen extension
  • 1.2.4: Incorporated XFree86 extension libraries into the source
  • 1.2.4: Dynamically load sound daemon audio drivers on UNIX
  • 1.2.4: David Snopek added Borland compiler support
  • 1.2.4: Updated for Watcom and LCC compilers (thanks Jean-Pierre)
  • 1.2.4: Added a YUV overlay test program (thanks Jon!)
  • 1.2.4: Fixed gamma ramps in DirectX windowed and OpenGL modes
  • 1.2.4: John Popplewell fixed mousewheel support on Windows
  • 1.2.4: Disabled QueryPerformanceCounter() due to problems on Win2K
  • 1.2.4: Fixed Windows OpenGL mouse cursor/position mismatch bug
  • 1.2.4: Fixed display settings with ALT-tab and OpenGL on Windows
  • 1.2.4: Fixed timeout in Linux condition variable implementation
  • 1.2.4: Fixed bug in joystick detection code under Linux
  • 1.2.4: Fix crash with Linux supermount fstab entries (thanks Erno!)
  • 1.2.4: Fixed X11 crash updating rectangles of zero height (thanks Mattias!)
  • 1.2.4: Fixed spurious keypress at startup on BeOS
  • 1.2.4: MacOS audio locking has been implemented by Ryan Gordon
  • 1.2.4: Fixed "short jump out of range" error in MMX code (thanks Steven)
  • 1.2.4: Specify the SDL API calling convention (C by default)
  • 1.2.4: Updated autogen.sh for new versions of automake
  • 1.2.4: Fixed SDL 1.1 RPM dependency problem (thanks Edward!)
  • 1.2.3: Added X11 Xinerama support - fullscreen starts on screen 0
  • 1.2.3: Added platform independent OpenGL header - SDL_opengl.h
  • 1.2.3: Fixed flashing the screen when creating a window on BeOS
  • 1.2.3: Added double-buffering support for SVGAlib (thanks Kutak!)
  • 1.2.3: Fixed crash when using double-buffering with DGA
  • 1.2.3: Fixed resuming a paused CD on Win2K (thanks Aragorn)
  • 1.2.3: Improved MacOS international keyboard handling (thanks Max!)
  • 1.2.3: Added support for the GNU Pth thread lib (thanks Mandin!)
  • 1.2.3: Added the Undo key for the Atari keyboard (thanks Mandin!)
  • 1.2.3: Fixed XVideo on GeForce by using last available adaptor
  • 1.2.3: Added CD-ROM support for BSD/OS (thanks Steven!)
  • 1.2.3: Added library version information to the Windows DLL
  • 1.2.3: Added initial support for EPOC/Symbian OS (thanks Hannu!)
  • 1.2.3: Added a joystick driver for MacOS X (thanks Max!)
  • 1.2.3: Improved MacOS X international keyboard handling
  • 1.2.3: Added support for DirectFB video on Linux (thanks Denis!)
  • 1.2.3: Fixed IDE and SCSI CD-ROM detection on BeOS (thanks Caz!)
  • 1.2.3: Fixed the system dependent SDL_WINDOWID hack on Windows
  • 1.2.3: Added 640x480 as a scaled resolution for NTSC/PAL output
  • 1.2.3: Added support for TV output on the Linux PlayStation Beta
  • 1.2.3: Added initial NVidia acceleration on framebuffer console
  • 1.2.3: Fixed audio format selection for OpenBSD (thanks Peter!)
  • 1.2.2: Fixed crash when quitting fullscreen mode on MacOS X
  • 1.2.2: Fixed fullscreen mouse events on MacOS X
  • 1.2.2: Now returns an error if unable to open audio on BeOS
  • 1.2.2: Fixed keyboard input translation on WinCE (thanks Rainer!)
  • 1.2.2: Now gets correct keyboard state when starting up on X11
  • 1.2.2: Improved the DGA 2.0 and framebuffer console drivers
  • 1.2.2: Improved the OpenBSD port (native audio default, etc.)
  • 1.2.2: Improved OSS audio driver support, thanks to 4Front Tech.
  • 1.2.2: Improved X11 fullscreen support, works better with KDE
  • 1.2.2: Improved SDL_GetTicks() resolution on W2K (thanks Holger!)
  • 1.2.2: Added FreeBSD VGL video driver from FreeBSD ports
  • 1.2.1: Added Linux PlayStation 2 Graphics Synthesizer support
  • 1.2.1: Added an audio driver that writes to disk (thanks Ryan!)
  • 1.2.1: Mouse wheel sends mouse button (4/5) events on Windows
  • 1.2.1: Added MacOS X Project Builder projects (thanks Darrell!)
  • 1.2.1: Added initial support for Quartz video (thanks Darrell!)
  • 1.2.1: Disabled Linux /dev/event joystick interface by default
  • 1.2.1: Added native OpenBSD audio driver (thanks vedge!)
  • 1.2.1: Added detection of Open Sound System on Solaris x86
  • 1.2.1: Added initial support for Nano-X (thanks Hsieh-Fu!)
  • 1.2.1: Fixed endian detection on IA64 architectures (thanks Bill!)
  • 1.2.1: Added --disable-dga configure option to disable DGA
  • 1.2.1: Fixed stuck keys when changing the video mode
  • 1.2.1: Fixed double-mouse event bug on Windows using OpenGL
  • 1.2.1: Fixed 320x200 video mode on framebuffer console
  • 1.2.1: Improved robustness for the ELO touchpad (thanks Alex!)
  • 1.2.1: Added support for building under Cygwin on Windows
  • 1.2.1: Added a dummy video driver for benchmarking (thanks Ryan!)
  • 1.2.1: Fixed fullscreen cursor offset bug on BeOS
  • 1.2.0: Added initial support for HP-UX (thanks Stephanie)
  • 1.2.0: Added initial support for BSDI (thanks Kurt)
  • 1.2.0: Fixed blitting 32-bit ARGB images to SDL_OPENGLBLIT screens
  • 1.2.0: Fixed automake build dependencies (thanks Markus!)
  • 1.2.0: Added 24 bpp support to software YUV display functions
  • 1.2.0: Don't bomb trying to get DGA mouse on XFree86 4.0
  • 1.2.0: Added initial support for OSF/Tru64 (thanks Anders)
  • 1.1.8: Fixed joystick hat motion on MacOS
  • 1.1.8: Don't detect mouse and keyboard as joystick on MacOS
  • 1.1.8: Check for OpenGL 1.2 before using 16-bit SDL_OPENGLBLIT
  • 1.1.8: Added support for /dev/sound/* in Linux 2.4
  • 1.1.8: Fixed crash when blitting to RLE encoded surfaces
  • 1.1.8: Fixed 8-bit audio on MacOS X
  • 1.1.8: Fixed keyboard handling on MacOS X and MacOS classic
  • 1.1.8: Fixed mouse cursor visibility when switching apps on MacOS
  • 1.1.8: Implemented semaphore support on MacOS X
  • 1.1.8: Worked around broken sem_getvalue() on MacOS X
  • 1.1.8: Fixed 16-bit big-endian audio on MacOS X and MacOS classic
  • 1.1.8: Fixed mutex locking on Linux glibc 2.0
  • 1.1.8: SDL_Quit() removes the parachute signal handlers
  • 1.1.8: Added NAS audio server support (thanks Erik!)
  • 1.1.8: Added SDL_NOFRAME for frameless windows (thanks Andreas)
  • 1.1.8: Added support for resizable windows on MacOS
  • 1.1.8: Added a function to query the surface clip rectangle
  • 1.1.8: Added a function to query the current event filter
  • 1.1.8: The X11 XVideo adapter is now locked (thanks Jeffrey)
  • 1.1.8: Improved the speed of fullscreen OpenGL on Windows
  • 1.1.8: Added ELO touchscreen support for fbcon (thanks Alex)
  • 1.1.8: Added accelerated MacOS X OpenGL support
  • 1.1.8: Surface lock and unlock operations can now be nested
  • 1.1.8: Optimized fillrect for PPC video memory (thanks Mattias)
  • 1.1.8: Work around "blackout" problem with XVideo acceleration
  • 1.1.8: Obtain correct key state on X11 focus (thanks Mattias)
  • 1.1.8: Fixed keyboard handling on the framebuffer console
  • 1.1.8: Added basic support for VGA16 framebuffer console
  • 1.1.8: Open a new virtual terminal if possible on fbcon
  • 1.1.8: Fixed default audio driver on FreeBSD (thanks Maxim)
  • 1.1.8: Fixed joystick crash on Windows (thanks Pete)
  • 1.1.7: Expanded documentation from the SDL Documentation Project
  • 1.1.7: Report X11 client message events if SYSWMEVENTS enabled
  • 1.1.7: Added support for a single hat on Windows joysticks
  • 1.1.7: The gamma ramp routines now take arrays of Uint16 values
  • 1.1.7: Added initial support for QNX RTP (thanks Patrick)
  • 1.1.7: Added ALSA sound driver (thanks Patrick Trainor)
  • 1.1.7: Added aRts UNIX sound driver (thanks Neil Stevens)
  • 1.1.7: Get keyboard modifier state on input focus on Win32
  • 1.1.7: SDL_ConvertSurface() now accepts SDL_RLEACCEL as a flag
  • 1.1.7: Added initial UnixWare 7 support (thanks rr)
  • 1.1.7: Added working YUY -> RGB conversion code (thanks Eugene)
  • 1.1.7: Fixed video initialization crash on IRIX
  • 1.1.7: Fixed MacOS fullscreen palette code (thanks Darrell)
  • 1.1.7: Fixed background brush flicker on Win32 (thanks Gautier)
  • 1.1.7: Fixed incorrect pitch when switching to window on Win32
  • 1.1.7: Fixed memory leak when switching video modes on Win32
  • 1.1.7: Init of fbcon shouldn't automatically set graphics mode
  • 1.1.6: Allow SDL_VIDEO_INIT when built without thread support
  • 1.1.6: Fixed palette problems with non-X11 fullscreen displays
  • 1.1.6: Fixed Win32 crash with SDL_OPENGLBLIT and GL functions
  • 1.1.6: Improved default MacOS millisecond time resolution
  • 1.1.6: Fixed X11 overlapping endian blit bug (thanks Mattias)
  • 1.1.6: Fixed starting directory on BeOS (thanks Samuel)
  • 1.1.6: Integrated FreeBSD SVGAlib support (thanks folks)
  • 1.1.6: Fixed middle-button handling on DirectInput
  • 1.1.6: Added SDL_GetThreadID() to get a specific thread's ID
  • 1.1.6: Worked around a crash in pthreads on RedHat 7
  • 1.1.6: Fixed a brown-bag crash in clipping code
  • 1.1.5: Convert from '/' to ':' opening files on MacOS
  • 1.1.5: Clean up empty output files on Win32 and MacOS
  • 1.1.5: Run command dialog if command key on startup on MacOS
  • 1.1.5: Initial NetBSD support (thanks Krister Walfridsson)
  • 1.1.5: Expanded the YUV overlay to handle odd (ATI) hardware
  • 1.1.5: Fixed MacOS GL attribute selection (thanks Darrell)
  • 1.1.5: Implemented gamma correction on 8-bit hardware displays
  • 1.1.5: Performed logical/physical palette split (thanks Mattias)
  • 1.1.5: Added initial MacOS X support (thanks Stan)
  • 1.1.5: SDL_WarpMouse() now works on BeOS (thanks Christian)
  • 1.1.5: Windows GDI driver now supports 565 modes (thanks Ben)
  • 1.1.5: Correctly load OpenGL extensions on Win32 (thanks Beosil)
  • 1.1.5: Fixed crash with some threaded audio drivers
  • 1.1.5: Audio is now closed in SDL_Quit(), if necessary
  • 1.1.5: Win32 version now uses MSVC multi-threaded DLL runtime
  • 1.1.5: Replaced useless SDL_SetClipping() with SDL_SetClipRect()
  • 1.1.5: Added a flag to YUV overlays to show hardware support
  • 1.1.5: Added SDL_WasInit() to see what is currently initialized
  • 1.1.5: YUV overlays can now be accelerated with DirectX
  • 1.1.5: YUV overlays now have working pitch (thanks Vivien)
  • 1.1.5: Prompt the user if MacOS mode change may damage hardware
  • 1.1.5: Fixed DrawSprocket video mode lists and mode changes
  • 1.1.5: Added DrawSprocket acceleration of colorkey blits
  • 1.1.5: MacOS event handling is much more responsive by default
  • 1.1.5: MacOS modifier keys now generate key events
  • 1.1.5: Mattias Engdegård did the "Great Alpha Flip"
  • 1.1.5: Added SDL_DisplayFormatAlpha() for fast alpha blits
  • 1.1.5: Added SDL_MapRGBA() and SDL_GetRGBA() to handle alpha
  • 1.1.5: SDL_SetAlpha() now accepts the SDL_RLEACCEL flag
  • 1.1.5: Blit semantics involving alpha are now well defined
  • 1.1.5: Added support for X11 DirectColor visuals for gamma API
  • 1.1.5: Added initial AmigaOS support (thanks Gabriele Greco)
  • 1.1.5: Added an initial gamma correction API (thanks Daniel)
  • 1.1.5: Disable DGA mouse while X11 application is iconified
  • 1.1.5: Allow 16-bit audio on Solaris (thanks Mattias)
  • 1.1.5: Added RLE acceleration of alpha blits (thanks Mattias)
  • 1.1.5: New documentation from the SDL Documentation Project
  • 1.1.4: Work around window resize bug in KDE 1.2
  • 1.1.4: Command-click is interpreted as right click on MacOS
  • 1.1.4: Removed ESounD detection on Solaris
  • 1.1.4: Updated to libtool 1.3.5 and latest config.guess
  • 1.1.4: testgl now works on 8-bit displays under X11
  • 1.1.4: SDL_WINDOWID hack now works with OpenGL on Linux
  • 1.1.4: Builds correctly on UNIX without X11 installed
  • 1.1.4: Fixed default GL driver loading on Win32
  • 1.1.4: Implemented fullscreen toggle on BeOS (thanks David)
  • 1.1.4: No longer use DirectDraw with OpenGL modes on Win32
  • 1.1.4: Added support for 320x200x8 in SVGAlib (thanks Michele)
  • 1.1.4: Implemented resizable windows on BeOS (thanks David)
  • 1.1.4: RLE colorkey encoding reduces memory use (thanks Mattias)
  • 1.1.4: The CD track length variable is now 32-bits (thanks Martin)
  • 1.1.4: Fixed crashing bug in Win32 semaphores (thanks Markus)
  • 1.1.4: Disabled aggresive gcc optimizations on X86
  • 1.1.4: Added support for blitting with GL (thanks Daniel Vogel)
  • 1.1.4: Improved the speed of the 16-bit colorkey copy blit
  • 1.1.4: Fixed pthread condition variable timeout
  • 1.1.3: Use timeGetTime() instead of GetTickCount() on Win32
  • 1.1.3: Release mouse when popped out of fullscreen on X11
  • 1.1.3: IRIX 6.5 and FreeBSD 4.0 are now officially supported
  • 1.1.3: Added optimization flags when compiling on x86 with gcc
  • 1.1.3: On BeOS, change to app directory when launched by Tracker
  • 1.1.3: Hold the option key on launch to get dialog on MacOS
  • 1.1.3: Added DrawSprockets on MacOS (thanks Darrell Walisser)
  • 1.1.3: Added support for Linux 2.4 input interface (HID)
  • 1.1.3: Fixed 24-bpp blits on big-endian systems (thanks Mattias)
  • 1.1.3: Don't try to use DGA mouse support on XFree86 4.00
  • 1.1.3: Don't create an X11 shared memory buffer for GL displays
  • 1.1.3: Framebuffer console acceleration disabled (broken) on G200
  • 1.1.3: Allow maximize on resizable Win32 surfaces (thanks Randi)
  • 1.1.3: Much faster RLE colorkey blit (thanks Xark and Mattias)
  • 1.1.3: Fixed some problems with iconification and focus in X11
  • 1.1.3: Added IMPS/2 protocol support for framebuffer console
  • 1.1.3: Added user-resizable video mode support
  • 1.1.3: Added arbitrary scaling of YUV overlay surfaces
  • 1.1.3: Added support for semaphores and condition variables
  • 1.1.3: Added SDL_ASYNCBLIT flag for asynchronous video updates
  • 1.1.3: Don't let the WM place window in X11 fullscreen mode
  • 1.1.3: Unload GL library after X11 display has closed
  • 1.1.3: Fixed X11 error when a clipped rectangle is updated
  • 1.1.3: Fixed crash when surface memory can't be allocated
  • 1.1.3: Added a check for DirectX 5 audio (thanks Markus)
  • 1.1.3: Added inline MMX assembly for YUV -> RGB conversion
  • 1.1.3: Fixed startup crash in X11_RefreshDisplay()
  • 1.1.3: SDL_Init(SDL_INIT_AUDIO) no longer fails with no soundcard
  • 1.1.3: Initial YUV video overlay support (supports XvImages)
  • 1.1.3: Fixed BadMatch X11 error with GLX 1.3
  • 1.1.3: Worked around incompatibilities with XFree86 4.0 vidmode
  • 1.1.3: The audio Makefile no longer takes forever to create
  • 1.1.3: The joystick hat positions changed to constants
  • 1.1.3: Fixed overlapping copy blit with odd widths
  • 1.1.3: Fix for SDL_WINDOWID crash contributed by Mattias
  • 1.1.3: Speeded up 32-bit alpha channel blits by nearly 100%
  • 1.1.3: Added experimental DGA 2.0 support (set SDL_VIDEODRIVER)
  • 1.1.2: Fixed crash running on NT with a read-only filesystem
  • 1.1.2: Re-use thread creation mutex on glibc-2.0 systems
  • 1.1.2: SDL_WM_SetIcon() now uses icon colorkey if mask is NULL
  • 1.1.2: Win32 relative mouse mode fixes (thanks Randi Relander)
  • 1.1.2: Not being able to set audio frags is no longer fatal
  • 1.1.2: Added support for multiple timers (thanks Stephane Peter)
  • 1.1.2: Copy blits optimized using inline assembly on x86 Linux
  • 1.1.2: Copy blit can now handle overlapping blits
  • 1.1.2: Fixed GL direct rendering on Utah GLX (thanks John Fulmer)
  • 1.1.2: Added unofficial support for AIX (thanks Carsten Griwodz)
  • 1.1.2: Enabled X11 VidMode extension on remote displays
  • 1.1.2: Load libGL.so.1 under X11 if an app isn't linked with GL
  • 1.1.2: Don't restack windows in the X11 environment
  • 1.1.2: Multiple X11 visual support (thanks Mattias Engdegård)
  • 1.1.0: Internal event state is updated before filter is called
  • 1.1.0: Worked around DGA mouse cursor bug in Voodoo X server
  • 1.1.0: Added SDL OpenGL documentation (thanks Nicholas Vining)
  • 1.1.0: Added AAlib video driver support (thanks Stephane Peter)
  • 1.1.0: Added fullscreen support for Win32 GDI video driver
  • 1.1.0: Added SDL_GetAudioState() to get current audio status
  • 1.1.0: Added SDL_GetRelativeMouseState() to get relative motion
  • 1.1.0: Added 32-bit PII MMX optimized blitters from Hermes
  • 1.1.0: Added SDL_bool datatype for functions returning true/false
  • 1.1.0: Improved alpha blend speed (thanks Alexandre Courbot)
  • 1.1.0: Added function to queue events: SDL_PushEvent()
  • 1.1.0: Added user-defined event type to SDL_Event structure
  • 1.1.0: Added SDL_InitSubSystem() and SDL_QuitSubSystem()
  • 1.1.0: Added BDirectWindow fullscreen support on BeOS
  • 1.1.0: Added initial joystick support (Linux, Win32, BeOS, MacOS)
  • 1.1.0: The timer now runs in a separate thread if possible
  • 1.1.0: Added initial OpenGL support (Linux, Win32, BeOS, MacOS)
  • 1.0.9: Avoid potential crash in Win32 mouse handling (thanks Cliff)
  • 1.0.9: Fixed bug where /dev/dsp was incorrectly marked available
  • 1.0.9: Fixed DirectX crash if video height is larger than width
  • 1.0.9: Fixed win32 timer error message typo (thanks Martin Dvorak)
  • 1.0.8: Fixed deadlock if SDL_LockAudio() called from audio thread
  • 1.0.8: Fixed a race condition in thread creation
  • 1.0.7: Added detection for Linux supermount CD-ROM drives
  • 1.0.6: Added --static-libs option to sdl-config
  • 1.0.6: Fixed a clipping bug in the RLE colorkey blitting
  • 1.0.6: Mouse window manager routines implemented on MacOS
  • 1.0.6: Fixed SDL_HWPALETTE in fullscreen X11 video driver
  • 1.0.6: Improved relative mouse warping in X11 video driver
  • 1.0.6: DGA mouse mode is now enabled by SDL_VIDEO_X11_DGAMOUSE
  • 1.0.6: Grab input by default in fullscreen mode
  • 1.0.6: Detect hanging (incorrectly configured) Linux soundcard
  • 1.0.6: If ESPEAKER env variable is set, use ESD audio driver
  • 1.0.5: Fixed audio structure alignment for packing compilers
  • 1.0.5: Exposed SDL_AudioInit() and SDL_VideoInit()
  • 1.0.5: Added SDL_WM_ToggleFullScreen(), implemented for X11
  • 1.0.5: Removed ALT-Enter functionality - should be in apps
  • 1.0.5: The DSP audio driver is used by default on Linux
  • 1.0.4: Added optional DMA support for the Linux audio driver
  • 1.0.4: Fixed CD-ROM opening on the iBook under MacOS
  • 1.0.4: Fixed a crash in 8-bit mode when using X11 video
  • 1.0.4: Initial audio support on MacOS (thanks Darrell Walisser)
  • 1.0.4: The audio thread runs at high priority on Win32
  • 1.0.4: ESD audio support is now a separate selectable driver
  • 1.0.4: Initial OpenBSD support (thanks Federico Schwindt)
  • 1.0.4: Fixed hang when closing audio on Windows 2000
  • 1.0.4: Warn about monochrome X displays (thanks Christian Bauer)
  • 1.0.4: Fixed spurious X11 mouse focus events at ALT-ENTER
  • 1.0.4: Perform input ungrab at video quit, just in case
  • 1.0.4: Corrected X11 depth reporting in SDL_VideoModeOK()
  • 1.0.3: Disable mouse threshold when X11 mouse is in warp mode
  • 1.0.3: Fixed black-screen on exit in fbcon video driver
  • 1.0.3: Much improved console switching in fbcon video driver
  • 1.0.3: Fixed X11 UNICODE translation bug (thanks Andreas Arens)
  • 1.0.3: Fixed WaveOut mutex logic bug (thanks Markus Oberhum)
  • 1.0.3: Use X11 mouse warping when cursor hidden and input grabbed
  • 1.0.3: Doesn't try to use TrackMouseEvent() on Win95
  • 1.0.3: DirectColor support in fbcon driver (thanks Adam Meyerowitz)
  • 1.0.3: Fixed ALT-ENTER key state problem on X11
  • 1.0.2: Fixed Win32 code to run on VMWare with DIB video driver
  • 1.0.2: Added window manager function: SDL_WM_GrabInput()
  • 1.0.2: Added window manager function: SDL_WM_IconifyWindow()
  • 1.0.2: Added ALT-ENTER fullscreen toggle for X11 video driver
  • 1.0.2: X11 fullscreen mode uses DGA mouse if cursor is hidden
  • 1.0.2: New X11 fullscreen code doesn't require root
  • 1.0.2: Mouse focus and position is now updated at video mode set
  • 1.0.2: Mouse focus loss is now detected under Win32
  • 1.0.2: Menubar hiding is more robust on MacOS (thanks Matt Slott)
  • 1.0.2: Added CD-ROM support on MacOS (thanks Matt Slott)
  • 1.0.2: Added non-root fullscreen modes under X11 (thanks Stephane)
  • 1.0.2: Added docs for time functions (thanks Christian Biesinger)
  • 1.0.2: Squeezed a little more speed out of blitters (Duff's device)
  • 1.0.2: Added hardware acceleration for 3Dfx to fbcon driver.
  • 1.0.2: Added hardware acceleration for Matrox to fbcon driver.
  • 1.0.2: Windows mouse driver now recognizes the middle button.
  • 1.0.2: X11 driver now recognizes the "unix:0" display as local.
  • 1.0.2: Fixed a bug in DGA support which crashed some X servers.
  • 1.0.2: Added GPM repeater support (gpm -R) to fbcon driver
  • 1.0.2: Added support for hardware surfaces to fbcon driver
  • 1.0.2: Implemented console switching in fbcon driver
  • 1.0.2: Implemented graphics mode detection in fbcon driver
  • 1.0.2: Added SDL_EnableKeyRepeat() (thanks Jim Kutter)
  • 1.0.2: Enabled DirectSound on Windows 2000
  • 1.0.1: Fixed the frame buffer video driver on LinuxPPC
  • 1.0.1: Stopped using DirectSound on Windows NT.
  • 1.0.1: Stopped using DirectX when DINPUT.DLL is not installed.
  • 1.0.1: Added pthread detection to configure.in for FreeBSD.
  • 1.0.1: Updated the Solaris audio code for the 1.0 API
  • 1.0.1: Updated the MacOS code for the 1.0 internal API

Major changes since SDL 0.10.0:

  • 0.11.5: Fixed mouse warping in fullscreen mode
  • 0.11.5: Added a new function SDL_GetVideoSurface()
  • 0.11.5: Renamed SDL_AllocSurface() SDL_CreateRGBSurface()
  • 0.11.5: Added a new function SDL_CreateRGBSurfaceFrom()
  • 0.11.4: Added support for multiple compiled-in video drivers
  • 0.11.3: Fixed 16 --> 32 bpp blitting - using C instead of Hermes.
  • 0.11.3: Fixed double-buffering bug in the DirectX driver
  • 0.11.3: Added GGI video driver (thanks Jon Taylor)
  • 0.11.2: Added automake/aclocal/autoconf support
  • 0.11.1: Added an initial (buggy) MacOS CD-ROM driver
  • 0.11.1: Improved Linux CD-ROM detection
  • 0.11.1: Added a workaround for DGA mouse bug on Voodoo 3
  • 0.11.1: Fixed 24bpp --> 8bpp blit crash
  • 0.11.1: Fixed a bug in blit mapping when palette changed
  • 0.11.1: Added a Linux SBLive beta driver workaround
  • 0.11.1: Fixed Win32 cross-compile problem with mingw32
  • 0.11.1: Loss of keyboard focus now causes keys to be reset
  • 0.11.1: DGA DirectMouse is conditionally compiled (default off)

Major changes since SDL 0.8.0:

  • 0.9.16: Made SDL error messages thread-safe
  • 0.9.15: If you have r/w access to /dev/mem, DGA works on Linux
  • 0.9.15: Added support for Linux on the ARM (Netwinder)
  • 0.9.14: Removed color cursor support, fixed b/w cursors
  • 0.9.14: Fixed long-standing X11 DGA colormap problem
  • 0.9.13: Added dynamic load function: SDL_SetLibraryPath()
  • 0.9.13: Added unofficial support for MacOS
  • 0.9.13: Added unofficial support for FreeBSD
  • 0.9.13: Added unofficial support for IRIX
  • 0.9.13: Updated support for BeOS from R3 to R4.5
  • 0.9.13: Added SDL_SetLibraryPath() function (thanks Karsten Laux)
  • 0.9.13: Fixed 8-bit audio conversion when using SDL_MixAudio()
  • 0.9.13: Fixed audio thread lingering when app dies on Linux
  • 0.9.13: Fixed color problem in X display to other-endian systems
  • 0.9.13: Finally able to detect X11 key repeat (thanks GII team!)
  • 0.9.13: Added support for Visual C++ 5.0 development environment
  • 0.9.13: Added support for Linux on the Alpha
  • 0.9.13: Added support for international keyboards (see WhatsNew)
  • 0.9.12: Added support for loading IMA ADPCM compressed WAV files
  • 0.9.12: Fixed bug when mixing 8-bit audio in SDL_MixAudio()
  • 0.9.12: Added Enlightenment Sound Daemon audio support on Linux
  • 0.9.12: Added MTRR support for Linux/X11 (thanks David Barth)
  • 0.9.12: Added support for LinuxPPC 5.0
  • 0.9.12: Fixed place where some audio conversions aren't detected
  • 0.9.12: Fixed serious bug in installation script
  • 0.9.12: Added SDL_FreeWAV() function for freeing DLL memory
  • 0.9.12: Fixed potential memory leak in SDL_LoadWAV_RW()
  • 0.9.11: Freeing video surface has no longer crashes SDL_Quit()
  • 0.9.11: Included new asm blitters from Hermes library 1.2.4
  • 0.9.11: SDL_WaitThread() now gets the thread's return status
  • 0.9.11: SDL_MixAudio() takes a larger volume range (0-128)
  • 0.9.11: SDL no longer changes the X11 keyboard repeat
  • 0.9.11: Added a data source abstraction for loading/saving data
  • 0.9.11: Added three built in data abstractions:
    SDL_RWFromFile(), SDL_RWFromFP(), SDL_RWFromMem()
  • 0.9.11: Added stdio-like functions for using data sources:
    SDL_RWseek(), SDL_RWread(), SDL_RWwrite(), SDL_RWclose()
  • 0.9.11: Replaced SDL_CalculateEndian() with SDL_BYTEORDER macro
  • 0.9.11: Endian swapping functions are now macros, for speed.
  • 0.9.11: Endian read/write functions now use data sources
  • 0.9.11: Added function SDL_LoadWAV_RW() for data sources
  • 0.9.11: Added function SDL_LoadBMP_RW() for data sources
  • 0.9.11: Added function SDL_SaveBMP_RW() for data sources
  • 0.9.10: Mixer no longer fails if timidity isn't installed
  • 0.9.10: Mixer restarts MOD files on play (thanks Bill Kendrick)
  • 0.9.10: Fixed occasional crashing of the mixer library
  • 0.9.10: Fixed icon display on Afterstep under Linux
  • 0.9.10: Fixed occasional crash in mixer example
  • 0.9.10: Linux cdrom list now comes from /etc/fstab
  • 0.9.10: Fixed support for UK keyboard (thanks John Elliott)
  • 0.9.10: The event queue is now thread-safe
  • 0.9.10: Added event queue pump function: SDL_PumpEvents()
  • 0.9.10: Added low level event function: SDL_PeepEvents()
  • 0.9.10: Added a new thread function: SDL_ThreadID()
  • 0.9.10: Fixed an audio rate conversion memory overrun
  • 0.9.10: Fixed crash with RLE acceleration on big surfaces
  • 0.9.10: Improved MacOS display driver - added fullscreen
  • 0.9.10: Removed spurious warnings from Linux X11 driver
  • 0.9.10: Fixed memory leak in SDL_InvalidateMap()
  • 0.9.10: Fixed right button of 2-button mice on Win32
  • 0.9.10: Enabled XFree86 mode changes on older servers
  • 0.9.9: SDL_LoadBMP() handles BMP files created with GIMP
  • 0.9.9: SDL_LoadWAV() handles WAV files with "LIST" chunks
  • 0.9.9: Fixed problem with audio underflow on Solaris
  • 0.9.9: Initial support for 4-speaker audio output devices
  • 0.9.8: Fixed corrupt VC++ 5.0 desktop file
  • 0.9.8: Now detects fixed version of Metro-X X11 server
  • 0.9.8: Fixed XFree86 DGA banked mode update
  • 0.9.8: Fixed mouse press viewport shift on XFree86 DGA
  • 0.9.7: Fixed problem with displaying remotely via X11
  • 0.9.7: Win32 uses software cursor when fullscreen
  • 0.9.7: Win32 mouse uses DirectInput when fullscreen
  • 0.9.7: Added OpenGL software rendering via Mesa (demos archive)
  • 0.9.7: Fixed memory leak in ADPCM WAV decoding
  • 0.9.6: Added CD-ROM audio API documentation
  • 0.9.6: Fixed potential BeOS audio-related crash
  • 0.9.6: Fixed crash when resetting the video mode in DirectX
  • 0.9.6: Fixed errors compiling with the SparcWorks compiler
  • 0.9.6: Replaced SDL_GetDisplayFormat() with SDL_GetVideoInfo()
  • 0.9.6: Added a new fast fill function: SDL_FillRect()
  • 0.9.6: Added blit acceleration flags to SDL_AllocSurface()
  • 0.9.6: Added new double-buffering function: SDL_Flip()
  • 0.9.6: Fixed problem with buggy Metro-X X11 server
  • 0.9.6: Fixed 8-bit audio on Solaris with dbri hardware
  • 0.9.6: Fixed alarm clock problem with Solaris pthreads
  • 0.9.6: Fixed BeOS compilation problem
  • 0.9.5: Added tools to create Win32 icons in directx/icon/
  • 0.9.5: You can now pass a NULL mask to SDL_WM_SetIcon()
  • 0.9.5: Added support files for compiling with VC++ 5.0
  • 0.9.5: Fixed icon color bug under Win32
  • 0.9.5: Re-added SDL_LowerBlit() - not safe for use on display
  • 0.9.5: Fixed 0.9.x cursor blit deadlock
  • 0.9.5: Added SDL_FPLoadWAV(), SDL_FPLoadBMP(), SDL_FPSaveBMP()
  • 0.9.5: Added Linux, Win32, and BeOS CD audio support
  • 0.9.5: MMX accelerated blit disabled -- temporarily broken
  • 0.9.4: Fixed endianness issue with BeOS x86 blitting
  • 0.9.4: Fixed quit interrupt delivery on BeOS
  • 0.9.4: Fixed dynamic loading on BeOS
  • 0.9.4: Fixed DirectX audio on Win98
  • 0.9.4: Fixed possible sound-related crash on Linux PPC
  • 0.9.3: Mouse motion arrives as absolute and relative coordinates
  • 0.9.3: Fixed Visual C++ structure packing
  • 0.9.3: Fixed UNIX dynamic link library installation
  • 0.9.2: DirectX audio no longer hangs when app loses focus
  • 0.9.2: Fixed DirectX HiColor crash (palette bug)
  • 0.9.1: Fixed DirectX <ALT> key handling
  • 0.9.1: Fixed DirectX windowed palette problems
  • 0.9.1: Removed SDL_MapSurface() and SDL_UnmapSurface()
  • 0.9.0: Initial port to IRIX 6.x
  • 0.9.0: Initial port to OSF/1 3.2 (no sound yet)
  • 0.9.0: MacOS port in progress

Major changes since SDL 0.7:

  • Separated the demos and examples into a separate archive
  • Added support for loading Microsoft compressed WAV files
  • Added "soft" application crash recovery (signal handlers)
  • Fixed POSIX signal handling interaction with threads
  • Fixed audio output on MKLinux
  • Added dynamic library version checking
  • Updated for DirectX 6.0
  • Cleaned up dynamic linking and added static linking
  • Added automatic audio format and rate conversion
  • Optimized some blitter cases (8 --> 16/32 and 32 --> 16/8)
  • Removed precalculated alpha blending acceleration
  • Key and mouse button events are split into up/down events
  • It is now much easier to set an optimal video mode

Major changes since SDL 0.5:

  • Ported to Solaris 2.6
  • Added XFree86 Direct Graphic Access support
  • Supports LinuxPPC without threads
  • Completely rewritten video/surface API -- see SDL_video.h
  • Completely rewritten event API
  • Optimized black-white cursor creation
  • Added support for run-length-encoded colorkeying
  • Added support for hardware accelerated blits
  • Added support for blitting from 1-bit surfaces (bitmaps)
  • Added a function to simplify setting video modes
  • Added support for loading WAV files
  • Added endian swapping functions for memory values
  • Added alpha blending using alpha value or channel
  • Added precalculated alpha blending acceleration
  • Added function to return current time in milliseconds
  • New event type SDL_ACTIVEEVENT, to detect iconification
  • New event type SDL_SYSWMEVENT, for custom window hooks
  • Added a platform dependent function to get window handle
  • Added a function to check the run-time version of SDL
  • Added periodic timer support at 10 ms resolution
  • Added support for the SDL_DEBUG environment variable
  • Miscellaneous internal cleanups

Major changes since SDL 0.4:

  • SDL library code is now dynamically loaded
  • Added support for pthreads (Linux glibc2)
  • Removed SDL_mutexN() and SDL_mutexIncr()

Major changes since SDL 0.3:

  • Added support for DirectX 5.0
  • Added support for surfaces in video memory
  • Added support for source color-key blitting
  • Added support for single-rectangle clipping
  • Added support for warping (moving) the cursor
  • Added support for color cursors
  • Greatly simplified internal event queue
  • Minor bug-fixes

[separator]