Simple Directmedia Layer
Go to file
Eric Curtin c0eada2019
Fix assumption that DRI_DEVNAME begins at 0 (#5865)
* Fix assumption that DRI_DEVNAME begins at 0

The existing logic of the code was to count every possible entry in
KMSDRM_DRI_PATH. After this a for loop would start trying to open
filename0, filename1, filename2, etc. In recent Linux kernels (say
5.18) with simpledrm, the lowest KMSDRM_DRI_DEVNAME is often
/dev/dri/card1, rather than /dev/dri/card0, causing the code to fail
once /dev/dri/card0 has failed to open. Running:

modprobe foodrm && modprobe bardrm && rmmod foodrm

before you try to run an application with SDL KMSDRM would have also
made this fail.

* Various changes from review

- Removed newline and period from SDL error
- Explicitely compare memcmp to zero (also changed to SDL_memcmp)
- Changed memcpy to strncpy
- Less aggressive line wrapping

* Various changes from review

- strncpy to SDL_strlcpy
- removed size hardcodings for KMSDRM_DRI_PATHSIZE and
  KMSDRM_DRI_DEVNAMESIZE
- made all KMSDRM_DRI defines, run-time variables to reduce bugs caused
  by these defines being more build-time on Linux and more run-rime on
  OpenBSD
- renamed openbsd69orgreater variable to moderndri
- altered comment from "if on OpenBSD" to add difference in 6.9

* Various changes from review

- Use max size of destination, rather than max size of source
- Less hardcodings
2022-07-06 09:00:16 -07:00
.github Add ps2_drivers dependency 2022-06-27 00:32:43 -07:00
acinclude imported two libtool mainstream commits 28fbcb6a and b55b1cc8 2022-03-16 17:15:20 +03:00
android-project Generate backspaces for the text we're going to replace when committing text 2022-07-01 10:13:19 -07:00
android-project-ant Added the old ant Android build project structure 2017-10-28 12:11:25 -07:00
build-scripts build-scripts/wikiheaders.pl: ignore the 'FrontPage' wiki pages. 2022-06-23 16:07:35 -04:00
cmake cmake: add generated files to a custom target (#5851) 2022-06-26 23:34:30 +02:00
docs Xbox GDKX support (#5869) 2022-07-01 13:59:14 -07:00
include Sync SDL wiki -> header 2022-07-04 23:57:05 +00:00
mingw/pkg-support/cmake Fix MinGW SDK redist: sdl2-config.cmake needs to set SDL2_FOUND 2022-06-03 21:05:55 -07:00
src Fix assumption that DRI_DEVNAME begins at 0 (#5865) 2022-07-06 09:00:16 -07:00
test Rename folder created in test_filesystem 2022-07-03 09:24:55 -07:00
VisualC Merge testguid into testautomation (#5873) 2022-07-01 16:27:51 -07:00
VisualC-GDK Fix format specifiers for WPARAM/LPARAM values, they are UINT_PTR. 2022-07-05 21:42:20 -07:00
VisualC-WinRT Remove unused internal header SDL_sysevents.h 2022-07-01 07:39:48 -07:00
visualtest remove all unnecessary stuff from visualtest configury. 2021-12-21 20:01:02 +03:00
wayland-protocols video: wayland: Use wp-viewporter for fullscreen with non-native resolutions 2022-03-28 13:18:26 -04:00
Xcode Remove unused internal header SDL_sysevents.h 2022-07-01 07:39:48 -07:00
Xcode-iOS Updated iOS build instructions 2021-11-30 12:19:26 -08:00
.clang-format Disable formatting not supported by Visual Studio 2019 2022-05-27 15:29:21 -07:00
.editorconfig Separated controller type data into a C file 2022-06-03 15:03:08 -07:00
.gitignore Xbox GDKX support (#5869) 2022-07-01 13:59:14 -07:00
.wikiheaders-options wikiheaders.pl: changes to make this usable with external projects. 2022-06-15 23:26:24 -04:00
Android.mk mark Android.mk as non-executable 2021-11-12 12:55:28 +03:00
autogen.sh Simplified autogen.sh, thanks to @smcv for the tip 2022-05-05 11:54:24 -07:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05: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
CMakeLists.txt Initial Audio driver 2022-06-27 15:18:48 -07:00
configure regenerated configure script 2022-06-28 17:00:20 +03:00
configure.ac autotools: properly enable the version static assertions 2022-06-24 20:37:20 +03: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 INSTALL.txt: Say "macOS" instead of "Mac OS X" in modern times. 2022-03-15 13:07:55 -04:00
LICENSE.txt Updated copyright for 2022 2022-01-03 09:40:21 -08:00
Makefile.in Refactoring: move GUID operations out of Joystick 2022-06-04 17:22:13 -07:00
Makefile.minimal build libSDL2_test too with Makefile.minimal 2021-11-14 01:10:32 +03:00
Makefile.os2 Updated to version 2.23.1 for pre-release checkpoint 2022-06-16 12:50:19 -07:00
Makefile.pandora more fixes to standalone makefiles. 2021-11-13 21:56:20 +03:00
Makefile.w32 Updated to version 2.23.1 for pre-release checkpoint 2022-06-16 12:50:19 -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-config-version.cmake.in Add documentation to autotoo'ls sdl2-config-version.cmake.in 2022-05-31 00:10:55 +02:00
sdl2-config.cmake.in cmake: fix name+location of SDL2.dll in configure generated SDL2::SDL2 target 2022-06-28 23:09:28 +02:00
sdl2-config.in cmake+ci: fix+test sdl2-config + sdl2.pc for all supported platforms 2022-06-23 14:17:38 +02: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
SDL2.spec.in license: Fixed references to COPYING.txt that are now LICENSE.txt. 2021-02-18 11:07:26 -05:00
SDL2Config.cmake.in ci: Test cmake build script on Android 2022-06-15 11:11:49 -07:00
TODO.txt Fixed up legacy MoinMoin URLs at wiki.libsdl.org 2021-04-01 12:20:33 -04:00
WhatsNew.txt Removed the limit on the size of the SDL error message 2022-06-27 16:59:50 -07:00

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)