Go to file
Frank Praznik 553fc5fe0e wayland: Expose displays in a deterministic order, and attempt to better handle selecting a primary display.
Wayland can expose displays in any arbitrary order, and doesn't have the native concept of a primary display. However, there are games that presume that the first listed display is the primary, which can lead to problems if that output isn't necessarily the ideal one, as they may use that display to build a resolution list or as the default fullscreen output. This sorts displays by position, then attempts to find the primary display, first by querying the explicit ordering hint, then the GNOME DBus property, then tries to determine the 'best' display according to the criteria that is generally ideal for games and media playback.

The makes the list of displays deterministic, as long as the desktop configuration remains static, with a reasonably appropriate one prioritized as primary, even if there is no explicit way to retrieve the primary display. In the case where a user has a particularly esoteric physical display configuration, the new hint enables explicitly overriding the sorting and selection logic, allowing the entire display order to be customized, if necessary.
2024-10-15 13:52:35 -04:00
.github ci: update LoongArch toolchain to 2023.08.08 2024-10-15 19:10:39 +02:00
VisualC Add parametrized build script 2024-10-14 21:30:48 +02:00
VisualC-GDK Added SDL_murmur3_32() 2024-09-28 17:19:01 -07:00
Xcode Add parametrized build script 2024-10-14 21:30:48 +02:00
android-project Add more configChanges to Android Manifest (#11145) 2024-10-10 07:53:34 -07:00
build-scripts releases: don't add static library to MinGW binary release 2024-10-14 21:30:48 +02:00
cmake cmake: fix configuration with -DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=ON 2024-10-15 19:09:54 +02:00
docs wayland: Expose displays in a deterministic order, and attempt to better handle selecting a primary display. 2024-10-15 13:52:35 -04:00
examples examples/game/01-snake: Update game logic in AppIterate, don't use a timer. 2024-10-14 23:17:23 -04:00
include wayland: Expose displays in a deterministic order, and attempt to better handle selecting a primary display. 2024-10-15 13:52:35 -04:00
src wayland: Expose displays in a deterministic order, and attempt to better handle selecting a primary display. 2024-10-15 13:52:35 -04:00
test Make sure stdio handles are in blocking mode 2024-10-14 22:10:49 -07:00
wayland-protocols wayland: Add support for setting window icons via the xdg-toplevel-icon-v1 protocol 2024-08-31 09:38:43 -04:00
.clang-format Add 'wl_list_for_each_safe' to the clang-format macro list 2024-03-14 10:22:23 -04:00
.clang-tidy
.editorconfig .editorconfig: Remove excess apostrophe at *.cocci 2024-06-16 09:18:17 -07:00
.gitignore Add parametrized build script 2024-10-14 21:30:48 +02:00
.wikiheaders-options .wikiheaders-options: Declare SDL3 to be a stable API! 2024-10-04 15:38:32 -04:00
Android.mk Add SDL_Process subsystem 2024-09-13 15:19:32 -07:00
BUGS.txt Replaced \r\n with \n in SDL root files 2024-10-05 18:15:02 -07:00
CMakeLists.txt PSVITA: enable posix fsops 2024-10-15 09:04:07 -04:00
CREDITS.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
INSTALL.md Updated INSTALL.md 2024-04-10 09:18:42 -04:00
LICENSE.txt Updated copyright for 2024 2024-01-01 13:15:26 -08:00
README-SDL.txt Replaced \r\n with \n in SDL root files 2024-10-05 18:15:02 -07:00
README.md Tweaking documentation for the SDL 3.0 preview release 2024-03-24 06:16:02 -07:00
WhatsNew.txt Replaced \r\n with \n in SDL root files 2024-10-05 18:15:02 -07:00

README.md

Simple DirectMedia Layer (SDL) Version 3.0

https://www.libsdl.org/

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

More extensive documentation is available in the docs directory, starting with README.md. If you are migrating to SDL 3.0 from SDL 2.0, the changes are extensively documented in README-migration.md.

Enjoy!

Sam Lantinga (slouken@libsdl.org)