Skip to content

Compiling on Linux

Ankith edited this page May 31, 2025 · 5 revisions

1. Install the dependencies

Debian based distros (includes Ubuntu, Mint, PopOS, Raspberry Pi OS, Kali, etc)

sudo apt-get update
sudo apt-get install build-essential git
sudo apt-get install libfreetype6-dev libportmidi-dev python3-dev python3-numpy
sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev 

Red Hat based distros (includes Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux, etc)

sudo dnf check-update
sudo dnf install pkg-config gcc git
sudo dnf install freetype-devel portmidi-devel python3-devel python3-numpy
sudo dnf install SDL2-devel SDL2_image-devel SDL2_mixer-devel SDL2_ttf-devel

if your system has yum instead of dnf you may try replacing that in the above commands, it will probably work in the same way (but is untested by us)

Arch-based distros (includes Manjaro, etc)

sudo pacman -Syyu
sudo pacman -S pkg-config base-devel git
sudo pacman -S sdl2 sdl2_ttf sdl2_image sdl2_mixer portmidi
python3 -m pip install numpy

2. Clone the repository

git clone https://github.com/pygame-community/pygame-ce.git
cd pygame-ce

3. Build and install pygame Community Edition

python3 -m pip install .

Note some distros will not allow you to use pip to install python packages, in that case you will have to run the above command in a python venv.

General Notes

You may also check out the Advanced compilation guide (for developers) if you are getting into development or are running into issues.

Clone this wiki locally