Skip to main content

Prerequisites

The following tools and libraries are required to build or run einky.

Hardware

ItemSpecNotes
Raspberry Pi Zero 2WThe target platform
MicroSD card8 GB minimumHolds InkyOS and games
GooDisplay GDEM0397T81P3.97" SPI e-ink panelThe display (800×480)
Li-Ion battery5000 mAh @ 5V 3APowers the Pi
7× GPIO buttonsD-pad + 3 action buttons
USB-C cablePower and data transfer

Pin assignments for the panel and buttons are defined once in meta/shared/hardware.toml and rendered on the Wiring page.

Software

To build the device image (buildroot_os / InkyOS)

The build runs entirely in a container, so the host distro doesn't matter.

ToolPurpose
DockerRuns the pinned Debian Bookworm Buildroot build environment
QEMU (qemu-system-aarch64)Boots the emulator image on the host
gitClone + the Buildroot submodule

No cross-toolchain, Python, or build libraries are needed on the host — the container provides everything.

To work on the frame/input pipeline (runtime) on a workstation

ToolVersionPurpose
Python3.14 (see meta/versions.env)Frame processor, input handler
PillowLatestFrame resize / image handling
numpyLatestDither + packing
XvfbAnyVirtual framebuffer for headless rendering
mesa-utils / libgl1-mesa-driAnySoftware OpenGL for the Ren'Py SDK
Ren'Py SDKPinned (see versions.env)Installed by meta/scripts/install-renpy-sdk.sh (verified by SHA256)
GCC / clangAnyCompiling the C SPI driver

runtime's make setup provisions the Python venv and dev dependencies for you.

Installing host dependencies (Debian/Ubuntu)

sudo apt-get update
sudo apt-get install -y \
docker.io qemu-system-arm git \
python3 python3-pip python3-venv \
xvfb mesa-utils libgl1-mesa-dri \
gcc build-essential