Simple DirectMedia Layer https://libsdl.org
Find a file
Ryan C. Gordon dc34abc03e
pipewire: Add SDL_HINT_AUDIO_DEVICE_STREAM_NAME callback earlier.
Otherwise, it might cause a deadlock, if the output_callback runs in another
thread while the guaranteed initial hint callback fires. One will wait for the
SDL device lock, the other the pipewire thread loop lock, each already holding
what the other needs.

This way, the hint callback fires and we ignore it, since the stream isn't
set up yet...which is good, because we're about to create the stream and set
that exact same state on it directly anyhow. Now there's no chance of this
deadlock happening.

Reference Issue #15075.
2026-06-02 19:04:28 -04:00
.github workflows: Stop building for Steam Runtime 3 on arm64 2026-06-02 12:21:45 -07:00
android-project Android: Remove unused accelerometer-related code and definitions 2026-05-29 13:14:09 -07:00
build-scripts SDL_migration.cocci: Add joystick/gamepad event state functions. 2026-05-30 14:05:45 -04:00
cmake Revert "vfork() isn't functional on DOS" 2026-06-02 14:16:31 -07:00
docs docs: bump minimum required Android ndk version 2026-05-27 20:05:50 +02:00
examples examples: Added input/05-gamepad-rumble 2026-05-31 08:32:44 -07:00
include Sync SDL3 wiki -> header 2026-05-31 02:51:28 +00:00
src pipewire: Add SDL_HINT_AUDIO_DEVICE_STREAM_NAME callback earlier. 2026-06-02 19:04:28 -04:00
test render: an empty clip rect should clip all drawing 2026-05-29 13:58:34 -07:00
VisualC examples: Added input/05-gamepad-rumble 2026-05-31 08:32:44 -07:00
VisualC-GDK gdk: Update Suspend/Resume best practices. 2026-03-07 11:19:09 -05:00
wayland-protocols revert parts of CodeSpell commit d870911202 from 3rd party sources 2026-05-13 18:00:02 +03:00
Xcode Added curved window mode on visionOS 26 (#15298) 2026-05-12 16:48:06 -07:00
.clang-format Add CHECK_PARAM as a conditional macro in clang-format 2026-04-03 11:47:41 -04:00
.clang-tidy Fix size of memcpy in SDL_AudioDeviceFormatChangedAlreadyLocked 2023-08-05 14:14:45 -04:00
.editorconfig .editorconfig: Remove excess apostrophe at *.cocci 2024-06-16 09:18:17 -07:00
.gitignore Updated .gitignore for png test data 2025-10-10 08:59:27 -07:00
.wikiheaders-options wikiheaders: Generate a current list of supported environment variables. 2025-09-02 15:49:52 -04:00
AGENTS.md AGENTS.md: Change "may not" to "must not". 2026-04-15 17:26:54 -04:00
Android.mk Add SVE2 SIMD Alpha-Blending Blitter (#15504) 2026-05-13 23:37:46 -07:00
BUGS.txt Added a Discord link to BUGS.txt 2025-01-13 16:42:50 -08:00
CLAUDE.md CLAUDE.md: Just copy the text from AGENTS.md in here for now. 2026-04-16 13:51:49 -04:00
CMakeLists.txt cmake: Preseed the CMake cache for Haiku OS. 2026-05-27 15:43:16 -04:00
CREDITS.md Updated the credits for SDL 3.0 2025-01-13 16:42:50 -08:00
INSTALL.md Add a link to docs/INTRO-mingw.md 2025-03-06 16:25:17 -08:00
LICENSE.txt Updated copyright for 2026 2026-01-01 09:40:08 -08:00
README.md Revert "Update README.md" 2025-11-16 01:15:10 +03:00
WhatsNew.txt Added SDL_HINT_MOUSE_DPI_SCALE_CURSORS 2025-12-09 17:12:08 -08:00

Simple DirectMedia Layer (SDL for short) is a cross-platform library designed to make it easy to write multi-media software, such as games and emulators.

You can find the latest release and additional information at: https://www.libsdl.org/

Installation instructions and a quick introduction is available in INSTALL.md

This library is distributed under the terms of the zlib license, available in LICENSE.txt.

Enjoy!

Sam Lantinga (slouken@libsdl.org)