Installing USDB Syncer on a Raspberry Pi (by frohlfing) - bohning/usdb_syncer GitHub Wiki
The guide covers:
- Installing usdb_syncer on Raspberry Pi OS 64-bit (Debian 12 Bookworm)
- Handling Python and poetry dependencies
- Fixing installation errors (dbus-python, f-string issue)
- Resolving missing QtMultimedia backends
First Attempt
I successfully installed usdb_syncer
alongside Ultrastar Deluxe on my Raspberry Pi. The setup works perfectly on a Raspberry Pi 4B with 8 GB RAM, running Raspberry Pi OS 64-bit (Debian 12 Bookworm).
Initially, I met all prerequisites, installing Python 3.12 (latest: 3.12.9) and then poetry
.
However, running poetry install
failed due to an issue with the dbus-python
(1.3.2) dependency, which couldn't be built properly. The reason became clear when checking apt show python3-dbus
:
Depends: python3 (<< 3.12), python3 (>= 3.11~)
Unfortunate.
Second Attempt
I removed Python 3.12 and poetry
and decided to take a simpler approach, hoping that the default Python version on the Raspberry Pi would be sufficient. Spoiler: It was!
Steps to Success
-
Install
poetry
via the GUI (Add/Remove Software). -
Install required packages:
sudo apt update sudo apt install -y python3.11 python3.11-venv python3.11-dev build-essential libdbus-1-dev libglib2.0-dev cmake pkg-config
-
Clone the repository:
git clone https://github.com/bohning/usdb_syncer.git cd usdb_syncer
-
Adjust the required Python version in
pyproject.toml
:
Change this line:python = "3.12.*"
To:
python = ">=3.11,<3.13"
-
Set up the virtual environment:
poetry env use python3.11 poetry install
-
Fix missing QtMultimedia backends:
Runningusdb_syncer
now worked but showed this warning:No QtMultimedia backends found. Only QMediaDevices, QAudioDevice, QSoundEffect, QAudioSink, and QAudioSource are available. Failed to initialize QMediaPlayer "Not available"
To fix this, install additional packages:
sudo apt-get install qtmultimedia5-dev libqt5multimedia5-plugins qml-module-qtmultimedia
Add this source to
/etc/apt/sources.list
:deb http://deb.debian.org/debian bullseye main
Then run:
sudo apt-get update sudo apt-get install libwebp6 libtiff5 libavformat58 ffmpeg libavcodec58 libswscale5
-
Run
usdb_syncer
:poetry run usdb_syncer
Now it works perfectly!