momh

Spotify Connect et PulseAudio sous Raspbian Bullseye

Si raspotify m’a donné pleinement satisfaction pendant quelques années comme client Spotify Connect sur mon Raspberry Pi, il n’en va plus de même depuis une importante mise à jour du logiciel : impossible de le combiner avec PulseAudio et de diriger le son vers mon ampli connecté via Bluetooth.
Du coup on se tourne directement vers la librairie librespot.

Si l’on peut installer librespot tout simplement via le gestionnaire de paquet Rust cargo, l’on a préféré directement le compiler avec le support du backend PulseAudio... en suivant scrupuleusement la documentation.

Installation de Rust et des dépendances

Il faut donc commencer par installer Rust et l’on procède comme recommandé grâce à l’utilitaire rustup :

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Une fois cela fait, on installe plus prosaïquement les dépendances nécessaires à la compilation :

sudo apt install build-essential libpulse-dev

Compilation

On commence par récupérer les sources via Git :

git clone https://github.com/librespot-org/librespot.git

Puis, dans le dossier librespot, on lance la compilation :

cd librespot
~/.cargo/bin/cargo build --no-default-features --features "pulseaudio-backend"

Premier test et lancement au démarage

Pour lancer le client Spotify Connect, il suffit alors de lancer la commande suivante :

.~/librespot/target/debug/librespot

et vous devriez pouvoir vous connecter depuis votre application Spotify.

Si tout fonctionne, on peut alors copier l’exécutable /librespot/target/debug/librespot dans le $PATH et créer le service systemd.

sudo cp ~/librespot/target/debug/librespot /usr/bin/
mkdir -p ~/.config/systemd/user
cp ~/librespot/contrib/librespot.user.service ~/.config/systemd/user/
systemctl --user enable librespot.user.service