5 Commits

Author SHA1 Message Date
david e2e9492a8d librespot: add with-libmdns feature for Spotify Connect discovery
Without zeroconf backend, librespot fails with 'Credentials are required
if discovery and oauth login are disabled'. The default features include
with-libmdns but our --no-default-features build excluded it.

Add with-libmdns so the device advertises itself via mDNS and shows up
in phone Spotify apps as a Connect target.
2026-07-01 07:38:40 -07:00
david b2e44369a9 librespot: fix CMD args (--enable-audio-cache is invalid; --initial-volume)
v0.8.0 librespot uses --disable-audio-cache (audio cache is on by default).
Renamed and added --initial-volume 100 for full startup volume.
2026-07-01 07:24:50 -07:00
david 32b9189f2f librespot: add native-tls feature (required by librespot-oauth)
oauth2 crate gates TLS backends behind features; without native-tls,
librespot-oauth fails to compile with compile_error!. The default
features include native-tls, but we use --no-default-features for
minimal build.
2026-07-01 05:52:07 -07:00
david e5b52fa56f librespot: switch from cross-compile to native ARM64 build
Cross-compile on x86_64 with qemu emulation takes >30min and hits
60-90min ceiling due to slow crate-by-crate aarch64 build under qemu.
Native ARM64 build on RPi 3B+ with --jobs 2 (1GB RAM) is much faster.

Rust 1.85.1 installed via rustup on RPi (precompiled aarch64 toolchain).
2026-07-01 05:00:22 -07:00
david 573821426c audio: add PipeWire+BT audio-bridge, mopidy (Qobuz+local), librespot (Spotify Connect)
- audio-bridge: alpine + pipewire + pipewire-pulse + wireplumber + bluez + dbus + tini
  Routes audio from librespot/mopidy/phone-BT to USB DAC (Q5K) via ALSA.
  Privileged + host network for bluetoothd HCI access.
- mopidy: built from python:3.12-slim-bookworm + pip (no ghcr.io dep).
  Qobuz (auth from developer.qobuz.com) + local files. PA bridge to audio-bridge.
- librespot: built from rust:1.85.1 on RPi (cross-compile too slow under qemu).
  Spotify Connect target named 'Klubhaus'. PA bridge to audio-bridge.

Both mopidy and librespot build locally to avoid ghcr.io auth/rate-limit issues.
PEQ stays on Q5K side (Qudelix app, 20 bands) for source-independent EQ.
2026-07-01 04:49:15 -07:00