Setting Up and Installing Prince of Persia (SDLPoP) – Ubuntu Edition

SDLPoP is an open-source port of the original DOS Prince of Persia, based on a disassembly of the game and rebuilt using the SDL2 library. Created by David “NagyD” and contributors, the project preserves the original gameplay while adding modern conveniences like:

  • Fullscreen support
  • Gamepad compatibility
  • Quicksave and replay features
  • Modding support

This makes SDLPoP the best way to experience the original game on modern Linux desktops.

Original DOS vs. SDLPoP (SDL2 Port)

FeatureOriginal DOS (1989)SDLPoP (SDL2 Port)
PlatformMS-DOS PCsModern Linux, Windows, macOS
Graphics320×200 CGA/EGA/VGAScaled resolution, fullscreen support
SoundPC Speaker / AdLibSDL2 audio, stereo sound
ControlsKeyboard onlyKeyboard + Gamepad support
Save SystemPassword codesQuicksave / Quickload
Replay FeatureNoneReplay recording & playback
ModdingNot supportedMods folder, custom levels
AccessibilityRequires DOSBox todayNative build, easy compile with SDL2
Community UpdatesFrozen since 1990sActively maintained on GitHub

Installing SDL2 and Compiling SDLPoP on Ubuntu

Step 1: Installing the Required Libraries

sudo apt update
sudo apt install build-essential git
sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev

Ubuntu Packages Explained

PackagePurposeWhy It’s Needed
build-essentialMeta-package that installs GCC (GNU Compiler Collection), make, and other core tools for compiling software.Provides the compiler and build tools required to compile SDLPoP from source.
gitVersion control system for managing source code.Used to clone the SDLPoP repository from GitHub.
libsdl2-devDevelopment headers and libraries for SDL2 (Simple DirectMedia Layer).Core library that SDLPoP uses for graphics, input, and window management.
libsdl2-image-devSDL2 extension for loading and manipulating images (PNG, JPG, etc.).Enables SDLPoP to load textures and sprites beyond raw bitmap formats.
libsdl2-mixer-devSDL2 extension for audio mixing and playback.Provides sound effects and music playback in the game.
libsdl2-ttf-devSDL2 extension for rendering TrueType fonts.Allows SDLPoP to display text (menus, HUD, etc.) using modern font rendering.

Step 2: Clone the SDLPoP Repository

git clone https://github.com/NagyD/SDLPoP.git
cd SDLPoP

Step 3: Compile the Game

cd src
make

Step 4: Run the Game

cd ..
./prince

This post was written with ❤️ and ☕️

Leave a comment