Raspberry Pi
Please use Raspberry Pi OS Bullseye. Older OSes are not tested.
Option 1: Binary wheel
We have published a binary wheel using Raylib in X11 mode. This should probably install and work on Bullseye with
python3.9 -m pip install raylib==4.2.1.2
If it doesn’t work, or you’re not on Bullseye, or you want a newer version,
or if you want to use Raylib in PLATFORM_DRM
mode, you will need to compile your own raylib. See below.
For full instructions on this, see https://github.com/raysan5/raylib/wiki/Working-on-Raspberry-Pi . If you need help with this ask Raylib.
Option 2: Compile Raylib from source X11 mode
This should work for everyone.
git clone https://github.com/raysan5/raylib.git --branch 5.0 --single-branch
cd raylib
mkdir build
rm -rf build/*
cd build
cmake -DPLATFORM="Desktop" -DOPENGL_VERSION=2.1 -DBUILD_EXAMPLES=OFF -DCUSTOMIZE_BUILD=ON -DSUPPORT_FILEFORMAT_JPG=ON -DSUPPORT_FILEFORMAT_FLAC=ON -DWITH_PIC=ON -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install
Then have pip compile and install the wheel:
sudo apt update
sudo apt install python3-pip
pip3 install setuptools
pip3 install --no-cache-dir --no-binary raylib --upgrade --force-reinstall raylib==5.0.0.1
Option 3: Compile Raylib from source DRM mode
As far as I can tell, Raylib DRM is broken. It doesn’t work on my Pi. However, if you want to compile it and give it a go, these are the commands:
git clone https://github.com/raysan5/raylib.git --branch 5.0 --single-branch
cd raylib
mkdir build
rm rf build/*
cd build
cmake -DPLATFORM="DRM" -DBUILD_EXAMPLES=OFF -DCUSTOMIZE_BUILD=ON -DSUPPORT_FILEFORMAT_JPG=ON -DSUPPORT_FILEFORMAT_FLAC=ON -DWITH_PIC=ON -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install
Then have pip compile and install the wheel with some extra linker flags:
sudo apt update
sudo apt install python3-pip
pip3 install setuptools
LDFLAGS="-lgbm -ldrm -lEGL" pip3 install --no-cache-dir --no-binary raylib --upgrade --force-reinstall raylib==5.0.0.1
Attention
If you intend to use the Broadcom proprietary Open GL ES 2.0 drivers (the ones installed by Raspbian into /opt/vc
and compiled in Raylib
with PLATFORM_RPI
) be aware they not work with Bullseye and have not been tested with the bindings. They will probably
require additional linker arguments to be added to build.py
. Suggest you try PLATFORM_DRM
instead.