Required libraries
SDL 1.2 (Simple DirectMedia Layer)Core multimedia library providing low-level access to audio, keyboard, mouse, and graphics hardware.Used for:
- Window and surface management
- Event handling (keyboard input)
- Video mode control
- Double buffering and palette management
SDL.hLinker flag: -lSDLSDL_image 1.2Image loading library for SDL that supports multiple formats including BMP, GIF, and PNG.Used for:
- Loading sprite graphics (
.bmp,.gif) - Loading game board textures
- Loading font bitmaps
-lSDL_imagelibmikmodSound and music library for playing various audio formats.Used for:
- Background music playback
- Sound effects (eating pellets, ghost sounds, sirens)
- Game audio mixing
.wav files in data/ directoryLinker flag: -lmikmodGLFW 3Multi-platform library for OpenGL, providing access to monitor and display information.Used for:
- Detecting primary monitor resolution
- Querying video mode and refresh rate
- Resolution information for restoration script
GLFW/glfw3.hLinker flag: -lglfwGLFW is only used for display detection, not for rendering. SDL 1.2 handles all graphics.
X11 utilities (includes
xrandr)X Window System utilities for display configuration management.Used for:- Saving multi-monitor layout
- Generating resolution restoration scripts
- Restoring display configuration on exit
/usr/bin/xrandrSystem libraries
These standard C libraries are also required:- libm - Math library (
-lm) - libc - Standard C library (implicit)
Installation
Debian / Ubuntu
Debian / Ubuntu
Fedora / RHEL
Fedora / RHEL
Arch Linux
Arch Linux
openSUSE
openSUSE
Version requirements
The project was developed and tested on Debian Testing with the following library versions:
| Library | Version | Notes |
|---|---|---|
| SDL | 1.2.x | Must be SDL 1.2, not SDL 2.0 |
| SDL_image | 1.2.x | Compatible with SDL 1.2 |
| GLFW | 3.x | Version 3 or higher |
| libmikmod | 3.x | Any recent version |
| xrandr | - | Included in x11-utils |
Build configuration
Dependencies are configured in theMakefile:
Compiler flags
The project uses these compiler optimizations:Verifying installation
To verify all dependencies are installed:Runtime dependencies
In addition to compile-time libraries, the game requires:Data files
- Sprites:
data/sprites.bmp,data/sprites.gif - Fonts:
data/fonts.bmp,data/fonts.gif - Backgrounds:
data/tablero.bmp,data/portada.bmp - Audio files: Various
.wavfiles indata/
System requirements
- X11 display server - Required for graphical output
- Linux kernel - Developed for Linux (x86-64 or i386)
- Bash shell - For running restoration scripts
Troubleshooting
SDL header not found
SDL header not found
If you get compilation errors about missing SDL headers:
-
Verify SDL 1.2 development files are installed:
-
Check header location:
-
Update
INCLUDEDIRin Makefile if headers are in a different location
Linker errors
Linker errors
If you get undefined reference errors during linking:
-
Verify libraries are installed:
-
Check library paths:
-
Ensure all required libraries are in
LDFLAGS
No xrandr warning
No xrandr warning
If you see the warning about xrandr not being available:
-
Install x11-utils:
-
Verify installation:
See also
- Command-line reference - Usage and options
- File structure - Project organization