Chapter 1 – Introduction

The introduction is short.

What is SDL or rather SDL2?

SDL abbreviates Simple Direct Media Layer. In August 2013 the official successor of original SDL (SDL 1.2) has been released, simply called SDL 2.0 (or SDL2). It is a library to develop powerful applications for many different operating systems (platforms) by learning only one set of commands. This is called cross-platform development. The following platforms are officially supported by SDL2:

  • Windows
  • Mac OS X
  • Linux
  • iOS
  • Android.

Internally the SDL library layer translates your commands to the platform specific commands, which is reflected by the followig diagram.

SDL2 Layers Diagram
Image by Adriatikus at English Wikipedia [Public domain], Wikimedia
SDL2 Layer Diagram
It’s especially meaningful to use the SDL library if you plan to develop games or need fast paced rendering. Jump and run-, Role-playing-, Real time/turn based strategy-, side-scrolling-, arcade-, board-, card-, simulation-, multi-user dungeon-, puzzle-, shooter-, network games and so on are possible, and any combination of these ;-).


The SDL 2.0 library, as well as the units for translation, are licensed under the zlib license. This license grants a high degree of freedom. So even closed-source, commercial applications and games are possible with SDL 2.0 and Free Pascal. As a sidenote, you are free to choose the MPL license for the units, if you like.

How to get SDL2 for Free Pascal or Object Pascal?

There are several SDL 2.0 units out there (see comparison and discussion here) which translate SDL 2.0 to Pascal, since originally it has been written in C. Over time it turned out that Tim Blume’s SDL 2.0 units are the best choice to use if you like to get into SDL 2.0 development in Free Pascal or Object Pascal.

A detailed installation instruction to set your system up for SDL 2.0 development under Pascal is found in Chapter 2 for Windows or Linux. If you did install SDL 2.0 for Free Pascal or Object Pascal already, proceed to Chapter 3.

Chapter 2 (Windows) → | Chapter 2 (Linux) → | Chapter 3 →

Leave a Reply