SDL

Simple Directmedia Layer

ZLIB License

Stars
8.3K
Committers
479

Bot releases are hidden (Show)

SDL - 3.1.2 Preview Latest Release

Published by slouken 6 months ago

This is an update to the preview release of the new SDL 3.0 API.

Here are some of the highlights since the last preview:

  • Added SDL_GlobDirectory() and SDL_GlobStorageDirectory()
  • Added support for modal windows on more platforms
  • SDL_CreateWindowAndRenderer() takes the window title as the first parameter
  • Removed SDL_RENDERER_ACCELERATED and SDL_RENDERER_SOFTWARE flags
  • Removed SDL_HINT_RENDER_SCALE_QUALITY
  • Renamed SDL_eventaction to SDL_EventAction
  • Changed SDL_KeyCode values to defines
  • Removed SDL_quit.h
  • Fixed mouse warp on XWayland
  • Improved fullscreen window transitions on Wayland
  • Implemented NEON audio type conversion
  • Prefer Pipewire over Pulseaudio on recent Linux distributions
  • Reduced startup time when scanning for game controllers on Linux
  • Fixed Win+V handling (pasting from clipboard history) on Windows
  • Miscellaneous documentation improvements
SDL - 2.30.3

Published by slouken 6 months ago

This is a stable bugfix release, with the following changes:

  • Fixed Win+V handling (pasting from clipboard history) on Windows
  • Fixed Caps Lock and Backspace key mapping for the Colemak keyboard layout on Windows
  • Fixed mouse warp on XWayland
  • Reduced startup time when scanning for game controllers on Linux
  • Fixed building with C89 compilers
  • Fixed building with the GDK SDK on Windows
SDL - 3.1.1 Preview

Published by slouken 7 months ago

This is an update to the preview release of the new SDL 3.0 API.

Here are some of the highlights since the last preview:

  • Fixed a crash when rendering lots of content using the Vulkan renderer
  • Fixed text input being delivered when SDL_StartTextInput() hasn't been called
  • Added support for raw keyboard events on Windows
  • Fixed a performance regression initializing controllers on Linux
  • Separated the joystick power state into battery status and percentage
  • Added an optional user parameter to main callback entry points
  • Case insensitive string comparison functions are no longer affected by locale
SDL - 2.30.2

Published by slouken 7 months ago

This is a stable bugfix release, with the following changes:

  • Fixed performance regression initializing controllers on Linux
  • Added support for the 6-button SEGA Mega Drive Control Pad for Nintendo Online
  • Added support for the MadCatz Saitek Side Panel Control Deck
  • Added support for the Hori Fighting Stick EX2
  • Added support for the Yawman Arrow flightstick
  • Added a gamepad mapping for the Defender Joystick Cobra R4
  • Fixed the gamepad mapping for the Sanwa Supply JY-P76USV controller
  • Poll for the initial controller state when using DirectInput
  • Allow using SDL_RWFromFile() with named pipes
SDL - 3.1.0 Preview

Published by slouken 7 months ago

This is a preview release of the new SDL 3.0 API.

The ABI hasn't been locked down yet, but it's fairly stable and feedback is welcome!

Check out README-migration.md for details on API changes since SDL 2.0, and tips on transitioning your code from SDL2 code to SDL3.

There have been too many changes to list them all, but here are some of the highlights:

  • The API has been significantly reworked to be easier to use and more consistent
  • The 2D rendering API now has support for more advanced colorspaces and HDR rendering
  • The 2D rendering API now has a Vulkan backend
  • An example of hardware accelerated video playback using ffmpeg has been added in test/testffmpeg.c
  • The shaped window API has been replaced with transparent windows
  • Time and date functions have been added in SDL_time.h
  • Support for webcam video capture has been added in SDL_camera.h
  • Support for handling pens and tablets has been added in SDL_pen.h
  • Support for file open and save dialogs has been added in SDL_dialog.h
  • Cross-platform functions for working with files and directories are available in SDL_filesystem.h
  • A cross-platform abstraction for working with user and game data has been added in SDL_storage.h
  • Handling of main() has been moved to a header library and an optional callback-based program flow is available
  • Support for simple object properties has been added in SDL_properties.h. These properties are available on many SDL objects, and can be used for more advanced functionality.

Please let us know about issues and feedback at: https://github.com/libsdl-org/SDL/issues

The development team is focused on code, moving towards the final release, and we would love volunteers to help improve the documentation. Please send e-mail to [email protected] if you'd like to help out!

Finally, a giant thank you to all the people who have contributed code and feedback to the SDL 3.0 improvements!

SDL - 2.30.1

Published by slouken 8 months ago

This is a stable bugfix release, with the following changes:

  • Fixed a regression causing SDL_WaitEvent() to return spurious failures
  • Fixed X11 cursors on the latest release of GNOME
  • Wayland windows automatically have OpenGL enabled again
  • Fixed memory corruption when converting signed 16-bit audio to float
  • Fixed audio artifacts when converting signed 8-bit audio to float
  • Fixed the clip rectangle not being updated when the viewport changes in the SDL renderer
  • Convert mouse wheel coordinates to the rendering view in the SDL renderer
  • Fixed a crash handling controllers on macOS
  • Fixed a crash setting a window fullscreen with Emscripten
  • Fixed the keyboard automatically popping up when resuming an application on Android
SDL - 2.30.0

Published by slouken 9 months ago

Thanks to all the people who contributed code and feedback, SDL 2.30.0 is now available!

In addition to lots of bug fixes, here are the major changes in this release:

General:

  • Added support for 2 bits-per-pixel indexed surface formats
  • Added the function SDL_GameControllerGetSteamHandle() to get the Steam API handle for a controller, if available
  • Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent when the Steam API handle for a controller changes. This could also change the name, VID, and PID of the controller.
  • Added the environment variable SDL_LOGGING to control default log output

macOS:

  • Added the hint SDL_HINT_JOYSTICK_IOKIT to control whether the IOKit controller driver should be used
  • Added the hint SDL_HINT_JOYSTICK_MFI to control whether the GCController controller driver should be used
  • Added the hint SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE to choose whether high or low power GPU should be used for rendering, in the case where there are multiple GPUs available

Xbox:

  • Added the function SDL_GDKGetDefaultUser()
SDL - 2.29.3

Published by slouken 9 months ago

This is a release candidate for 2.30.0

Thanks for all the feedback!
This update fixes WASAPI audio issues, improves Android audio latency, fixes Android audio device hotplugging, fixes a crash when accidentally opening a directory as a file, improves the timing of SDL_WaitEventTimeout() on Windows, and adds the SDL_LOGGING environment variable.

In addition to lots of bug fixes, here are the major changes in this release:
General:

  • Added support for 2 bits-per-pixel indexed surface formats
  • Added the function SDL_GameControllerGetSteamHandle() to get the Steam API handle for a controller, if available
  • Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent when the Steam API handle for a controller changes. This could also change the name, VID, and PID of the controller.
  • Added the environment variable SDL_LOGGING to control default log output

macOS:

  • Added the hint SDL_HINT_JOYSTICK_IOKIT to control whether the IOKit controller driver should be used
  • Added the hint SDL_HINT_JOYSTICK_MFI to control whether the GCController controller driver should be used
  • Added the hint SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE to choose whether high or low power GPU should be used for rendering, in the case where there are multiple GPUs available

Xbox:

  • Added the function SDL_GDKGetDefaultUser()
SDL - 2.29.2

Published by slouken 9 months ago

This is a release candidate for 2.30.0

This release fixes audio distortion and a crash when blitting that was introduced in 2.29.1.

In addition to lots of bug fixes, here are the major changes in this release:

General:

  • Added support for 2 bits-per-pixel indexed surface formats
  • Added the function SDL_GameControllerGetSteamHandle() to get the Steam API handle for a controller, if available
  • Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent when the Steam API handle for a controller changes. This could also change the name, VID, and PID of the controller.

macOS:

  • Added the hint SDL_HINT_JOYSTICK_IOKIT to control whether the IOKit controller driver should be used
  • Added the hint SDL_HINT_JOYSTICK_MFI to control whether the GCController controller driver should be used
  • Added the hint SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE to choose whether high or low power GPU should be used for rendering, in the case where there are multiple GPUs available

Xbox:

  • Added the function SDL_GDKGetDefaultUser()
SDL - 2.29.1

Published by slouken 9 months ago

This is a release candidate for 2.30.0

In addition to lots of bug fixes, here are the major changes in this release:

General:

  • Added support for 2 bits-per-pixel indexed surface formats
  • Added the function SDL_GameControllerGetSteamHandle() to get the Steam API handle for a controller, if available
  • Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent when the Steam API handle for a controller changes. This could also change the name, VID, and PID of the controller.

macOS:

  • Added the hint SDL_HINT_JOYSTICK_IOKIT to control whether the IOKit controller driver should be used
  • Added the hint SDL_HINT_JOYSTICK_MFI to control whether the GCController controller driver should be used
  • Added the hint SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE to choose whether high or low power GPU should be used for rendering, in the case where there are multiple GPUs available

Xbox:

  • Added the function SDL_GDKGetDefaultUser()
SDL - 2.28.5

Published by slouken 12 months ago

This is a stable bugfix release, with the following changes:

  • Added support for the HP HyperX Clutch Gladiate controller
  • Fixed a crash if a controller is disconnected while SDL is opening it
  • Fixed a crash on Linux if XInput2 isn't available at runtime
SDL - 2.28.4

Published by slouken about 1 year ago

This is a stable bugfix release, with the following changes:

  • Enable clipping for zero sized rectangles in the SDL renderer
  • Notify X11 clipboard managers when the clipboard changes
  • Fixed sensor timestamps for third-party PS5 controllers
  • Added detection for Logitech and Simagic racing wheels
SDL - 2.28.3

Published by slouken about 1 year ago

This is a stable bugfix release, with the following changes:

  • Added a gamepad mapping for the G-Shark GS-GP702
  • Fixed touchpad events for the Razer Wolverine V2 Pro in PS5 mode
  • Fixed getting key events from TV remotes on Android
  • Updated to Android minSdkVersion 19 and targetSdkVersion 34 to meet Google Play Store requirements
SDL - 2.28.2

Published by slouken about 1 year ago

This is a stable bugfix release, with the following changes:

  • Fixed occasionally failing to open the clipboard on Windows
  • Fixed crash at shutdown when using the D3D11 renderer
  • Fixed setting the viewport when using the D3D12 renderer
  • Fixed crash using SDL event functions before initializing SDL on Windows
  • Fixed Xbox controller trigger motion events on Windows
  • Fixed Xbox controller rumble in the background on Windows
  • Added the hint SDL_HINT_JOYSTICK_WGI to control whether to use Windows.Gaming.Input for controllers
  • Fixed 8BitDo gamepad mapping when in XInput mode on Linux
  • Fixed controller lockup initializing some unofficial PS4 replica controllers
  • Fixed video initialization on headless Linux systems using VNC
  • Fixed large mouse jump when changing relative mouse mode on macOS
  • Fixed hardware keyboard text input on iPadOS
SDL - 2.28.1

Published by slouken over 1 year ago

This is a stable bugfix release, with the following changes:

  • Added support for the Nintendo Online Famicom controllers
  • Improved support for third-party Nintendo Switch controllers
  • Fixed setting the player LED on Nintendo Switch controllers
  • Added Linux controller mapping for the Logitech Chillstream
  • Fixed appending to a file greater than 4GB in size on Windows
SDL - 2.28.0

Published by slouken over 1 year ago

Thanks to all the people who contributed code and feedback, SDL 2.28.0 is now available!

In addition to lots of bug fixes, here are the major changes in this release:

General:

  • Added SDL_HasWindowSurface() and SDL_DestroyWindowSurface() to switch between the window surface and rendering APIs
  • Added a display event SDL_DISPLAYEVENT_MOVED which is sent when the primary monitor changes or displays change position relative to each other
  • Added the hint SDL_HINT_ENABLE_SCREEN_KEYBOARD to control whether the on-screen keyboard should be shown when text input is active

With this release, SDL 2.0 is entering maintenance mode. While we will continue to support the library and provide stable bug fix updates, the SDL team is focusing on SDL 3.0 and all new feature development will be happening there. We are simultaneously bringing up sdl2-compat so your existing SDL 2.0 applications can run on the SDL 3.0 runtime in the future.

SDL - 2.28.0 RC1

Published by slouken over 1 year ago

This is a release candidate for 2.28

In addition to lots of bug fixes, here are the major changes in this release:

General:

  • Added SDL_HasWindowSurface() and SDL_DestroyWindowSurface() to switch between the window surface and rendering APIs
  • Added a display event SDL_DISPLAYEVENT_MOVED which is sent when the primary monitor changes or displays change position relative to each other
  • Added the hint SDL_HINT_ENABLE_SCREEN_KEYBOARD to control whether the on-screen keyboard should be shown when text input is active

This is the last scheduled release of SDL 2.0. While we will continue to support the library and release updates occasionally with bugfixes, the SDL team is focusing on SDL 3.0 and all new feature development will be happening there. We are simultaneously bringing up sdl2-compat so your existing SDL 2.0 applications can run on the SDL 3.0 runtime in the future.

SDL - 2.26.5

Published by slouken over 1 year ago

This is a stable bugfix release, with the following changes:

  • The minimum deployment target on macOS is now 10.11, due to changes in the latest Xcode update
  • Fixed incorrect modifier keys handling on macOS
  • Fixed occasional duplicate controller visible on macOS
  • Fixed handling of third party PS4 controller input reports
  • Added support for the trigger buttons on the Victrix Pro FS for PS5
  • Added mapping for Flydigi Vader 2 with the latest firmware (6.0.4.9)
  • Added mapping for DualSense Edge Wireless Controller on Linux
  • Added mapping for Hori Pokken Tournament DX Pro Pad
  • Improved the speed and quality of audio resampling
  • Fixed crash on Linux if dbus can't be initialized
SDL - 2.26.4

Published by slouken over 1 year ago

This is a stable bugfix release, with the following changes:

  • Fixed relative mouse motion over remote desktop on Windows
  • Fixed using older game controller mappings on Linux
SDL - 2.26.3

Published by slouken over 1 year ago

This is a stable bugfix release, with the following changes:

  • Fixed infinite loop shutting down WGI controllers
  • Fixed centering the D-pad on some Xbox controllers