Map

SDL (Simple DirectMedia Layer)

Wiki entitylibrarygraphicsaudiocross-platformretro-computing โ†ณ show in map Markdown
title
SDL (Simple DirectMedia Layer)
type
entity
summary
Cross-platform low-level library for video, audio, input, and threading; SDL3 is the current major version, maintained by libsdl-org
tags
library, graphics, audio, cross-platform, retro-computing
created
2026-04-25
updated
2026-04-25

SDL is the long-running cross-platform library most C/C++ games and emulators use to talk to the screen, the speakers, the keyboard, the mouse, the joystick, and the OS thread primitives. It abstracts platform differences so the same game binary, more or less, can ship on Windows, macOS, Linux, BSDs, mobile, consoles, and now โ€” again โ€” DOS.

SDL3 is the current major version, maintained by libsdl-org with Ryan Gordon (icculus) at the center. The codebase is at github.com/libsdl-org/SDL.

Platform support

SDL3 targets a broad list of platforms โ€” desktop (Windows, macOS, Linux, BSDs, Haiku), mobile (iOS, Android), web (Emscripten), and consoles (PS4/PS5/Xbox/Switch via private platform code, and the open-source-targetable PS2/PSP/Vita/3DS/Wii/N64). As of sdl3-dos-port (April 2026, PR #15377), DOS is back as a first-class target via DJGPP, with native VGA/VESA video, Sound Blaster audio, INT-driven input, and a cooperative threading scheduler.

Notable people

  • Ryan Gordon (icculus) โ€” long-time SDL maintainer, behind many of SDL's commercial-game ports
  • Anders Jenbo (AJenbo) โ€” completed and merged the SDL3 DOS port in 2026, also a DevilutionX contributor
Sub-pages