Sdl 2.0.2 released!


Thanks to everyone who contributed, SDL 2.0.2 is now available!

In addition to numerous bug fixes, here are the major changes since 2.0.1:


  • Added SDL_GL_ResetAttributes() to reset OpenGL attributes to default values
  • Added an API to load a database of game controller mappings from a file:
    SDL_GameControllerAddMappingsFromFile(), SDL_GameControllerAddMappingsFromRW()
  • Added game controller mappings for the PS4 and OUYA controllers
  • Added SDL_GetDefaultAssertionHandler() and SDL_GetAssertionHandler()
  • Added SDL_DetachThread()
  • Added SDL_HasAVX() to determine if the CPU has AVX features
  • Added SDL_vsscanf(), SDL_acos(), and SDL_asin() to the stdlib routines
  • EGL can now create/manage OpenGL and OpenGL ES 1.x/2.x contexts, and share
  • Added a field “clicks” to the mouse button event which records whether the event is a single click, double click, etc.
  • The screensaver is now disabled by default, and there is a hint SDL_HINT_VIDEO_ALLOW_SCREENSAVER that can change that behavior.
  • Added a hint SDL_HINT_MOUSE_RELATIVE_MODE_WARP to specify whether mouse relative mode should be emulated using mouse warping.
  • testgl2 does not need to link with libGL anymore
  • Added testgles2 test program to demonstrate working with OpenGL ES 2.0
  • Added controllermap test program to visually map a game controller


  • Support for OpenGL ES 2.x contexts using either WGL or EGL (natively via
    the driver or emulated through ANGLE)
  • Added a hint SDL_HINT_VIDEO_WIN_D3DCOMPILER to specify which D3D shader compiler to use for OpenGL ES 2 support through ANGLE
  • Added a hint SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT that is useful when creating multiple windows that should share the same OpenGL context.
  • Added an event SDL_RENDER_TARGETS_RESET that is sent when D3D9 render targets are reset after the device has been restored.

Mac OS X:

  • Fullscreen desktop mode now uses spaces for a more fluid Mac experience.
  • Added a hint SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK to control whether Ctrl+click should be treated as a right click on Mac OS X. This is off by default.


  • Fixed fullscreen and focused behavior when receiving NotifyGrab events
  • Added experimental Wayland and Mir support, disabled by default


  • Joystick support (minimum SDK version required to build SDL is now 12,
    the required runtime version remains at 10, but on such devices joystick
    support won’t be available).
  • Hotplugging support for joysticks
  • Added a hint SDL_HINT_ACCELEROMETER_AS_JOYSTICK to control whether the accelerometer should be listed as a 3 axis joystick, which it will by default.