Installation

Gabbia is distributed as single file module. Therefore, it may be sufficient to download the file or copy the file to another project.

However, it is recommended to install via pip:

pip install gabbia

To avoid problems with incompatible libs in the pywayland and pywlroots packages (see pywayland and pywlroots below), it’s recommended to avoid binary wheels at all:

pip install --no-binary :all: gabbia

Please note that the dependencies require the following libs:

  • libwlroots-dev 0.17.x

  • libxkbcommon-dev

Pre-requirements

Debian Linux

Unfortunately, Gabbia currently doesn’t work on Debian 12 (bookworm) as it only provides wlroots 0.15 (acc. to January 2025).

Debian 13 (trixie):

sudo apt install python3 python3-venv
sudo apt install python3-dev libxkbcommon-dev libwlroots-dev

Void Linux

sudo xbps-install python3 python3-venv
sudo xbps-install python3-devel libxkbcommon-devel wlroots0.17-devel

Ubuntu

sudo apt install python3 python3-venv
sudo apt install python3-dev libxkbcommon-dev libwlroots-dev

Raspberry Pi OS

sudo apt install python3 python3-venv
sudo apt install python3-dev libxkbcommon-dev libwlroots-dev_0.17.1

pywayland and pywlroots

After you’ve installed the pre-requirements, create a virtual environment.

mkdir gabbia
cd gabbia
python -m venv .venv
source ./.venv/bin/activate

Note

To avoid problems with incompatible libs shipped with pywayland and pywlroots, it’s recommended to use the source packages.

After creation of the virtual environment install all requirements and Gabbia:

pip install --no-cache-dir --no-binary pywayland
pip install --no-cache-dir --no-binary pywlroots
pip install gabbia