TL;DR
Simple DirectMedia Layer 2 の略。グラフィック、オーディオ、キーボード、マウスなど、ハードウェアへのアクセスを抽象化するライブラリである。
なぜ必要か
GUI アプリケーションやゲームの開発に使われる。ハードウェアアクセラレーションを利用して高速に描画でき、クロスプラットフォームで動く。
仕組み
公式サイトによると、SDL はオーディオ、キーボード、マウス、ジョイスティック、グラフィックのハードウェアへの低レベルなアクセスを提供するクロスプラットフォームのライブラリで、グラフィックは OpenGL や Direct3D を通して扱う。C で書かれており、C++ からもそのまま使える。C# や Python などのバインディングもある。公式には Windows、macOS、Linux、iOS、Android に対応し、zlib ライセンスで配布されている。
例
動画再生ソフト、エミュレータ、Valve のゲームなどで使われている。
注意点
公式サイトで配布されている現在の安定版は SDL 3 系である。