Simple Directmedia Layer
Go to file
James Howard d9c44b6537 Allow Cocoa_VideoInit to succeed when current display mode has invalid flags
This fixes a specific issue seen on macOS 10.14.6 where a DELL E248WFP
Display connected to a 2014 Mac Mini with a scaled 1920x1080 resolution
selected and SDL_Init(SDL_INIT_VIDEO) failed with the error: "The video
driver did not add any displays".

The underlying cause was that the current 1080p display mode did not
have the flag kDisplayModeSafeFlag, the check for which was added in
a963e36, with the idea that certain display modes should not be
candidates for switching to in fullscreen exclusive mode. That may well
be the right thing to do for filtering down a list of candidate modes,
but it doesn't pay to be so picky about the current mode. After all,
this current mode was set by System Preferences, the picture does appear
correctly on screen, and other non-SDL based applications launch and run
correctly in this mode.

Therefore the fix is to have GetDisplayMode only filter out a mode based
on flags if it's part of a candidate list, but if it's the current mode
and it can possibly be converted to an SDL_DisplayMode, do so.
2021-10-19 15:50:21 -07:00
.github Add MinGW-w64 builds to GitHub Actions 2021-09-20 08:58:43 -07:00
VisualC fix syntax error in SDL.vcxproj.filters 2021-09-27 14:10:02 +03:00
VisualC-WinRT winrt: Update SDL-UWP to VS2019 2021-09-08 06:26:26 -10:00
Xcode Removed X11 code from Apple Xcode project 2021-09-24 10:59:35 -07:00
Xcode-iOS Xcode-iOS Demos: Add CFBundleShortVersionString to Info.plist 2021-09-29 16:39:31 -07:00
acinclude acinclude/libtool.m4: Apply macos11 patch from libtool bug #44605 2021-01-09 00:11:20 +03:00
android-project backout SDL_AndroidSetInputType() 2021-10-17 23:47:59 +02:00
android-project-ant Added the old ant Android build project structure 2017-10-28 12:11:25 -07:00
build-scripts wikiheaders.pl: Try to handle functions with multiple declarations better. 2021-10-08 20:50:30 -04:00
cmake cmake: Move the old, global add_definitions (etc) to an interface library. 2021-10-05 12:34:29 -04:00
debian Updated to version 2.0.17 for development 2021-08-10 15:02:36 -07:00
docs enabled os2 joystick code (if anyone has actually a use for it...) 2021-10-15 08:51:02 +03:00
include backout SDL_AndroidSetInputType() 2021-10-17 23:47:59 +02:00
src Allow Cocoa_VideoInit to succeed when current display mode has invalid flags 2021-10-19 15:50:21 -07:00
test Fix compiler warnings in testvulkan.c 2021-10-06 15:24:41 -07:00
visualtest fix permissions of a few files 2021-02-22 15:44:32 +03:00
wayland-protocols wayland: Add support for text-input-unstable-v3 2021-07-29 14:43:46 -07:00
.gitignore Added testgeometry to the git ignore file 2021-09-22 09:30:28 -07:00
Android.mk minor watcom build fixes. 2021-05-15 00:22:50 +03:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
CMakeLists.txt riscos: Implement SDL_GetPrefPath() 2021-10-12 13:07:52 -07:00
CREDITS.txt Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
INSTALL.txt development list has moved to forum 2021-06-01 16:49:13 -07:00
LICENSE.txt license: Fixing the license file to be correctly scooped up by Github automation 2021-02-17 13:08:13 -05:00
Makefile.in configure: Fixes to make SDL link as C++ on Haiku. 2021-08-06 14:08:50 -04:00
Makefile.minimal Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
Makefile.os2 minor update to os2 makefile. 2021-10-04 00:32:56 +03:00
Makefile.pandora Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
Makefile.psp PSP: fixed build 2021-10-04 21:56:42 +02:00
Makefile.wiz Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
README-SDL.txt More HTTPS changes in the documentation. 2017-02-16 16:52:03 -05:00
README.md Update and rename README.txt to README.md 2021-03-20 18:46:37 -04:00
SDL2.spec.in license: Fixed references to COPYING.txt that are now LICENSE.txt. 2021-02-18 11:07:26 -05:00
SDL2Config.cmake Fix Debug-only builds with CMake 2021-10-05 18:45:53 -07:00
TODO.txt Fixed up legacy MoinMoin URLs at wiki.libsdl.org 2021-04-01 12:20:33 -04:00
WhatsNew.txt Enable AAUDIO driver for Android 2021-08-10 14:50:43 -07:00
autogen.sh bump minimum required autoconf version and revise autogen.sh 2021-04-14 23:20:40 +03:00
cmake_uninstall.cmake.in Fixed bug 3867 - Can't find install_manifest.txt when running 'uninstall' target 2017-10-12 08:44:45 -07:00
configure riscos: Implement SDL_GetPrefPath() 2021-10-12 13:07:52 -07:00
configure.ac riscos: Implement SDL_GetPrefPath() 2021-10-12 13:07:52 -07:00
sdl2-config-version.cmake.in cmake: Forgot to add this file to revision control. 2020-02-25 14:52:03 -05:00
sdl2-config.cmake.in sdl2-config.cmake.in: Make SDL2::SDL2 work with MinGW, fixes #3665 2021-07-08 14:55:33 -07:00
sdl2-config.in build: Don't duplicate Libs in Libs.private in pkg-config file 2020-04-12 13:24:36 +01:00
sdl2.m4 acinclude & sdl2.m4 updates: 2020-12-22 17:00:28 +03:00
sdl2.pc.in rename PKG_CONFIG_LIBS_PRIV to PKGCONFIG_LIBS_PRIV 2021-04-14 21:40:50 +03:00

README.md

Simple DirectMedia Layer (SDL) Version 2.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 via OpenGL and Direct3D. 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

Enjoy!

Sam Lantinga (slouken@libsdl.org)