name: qbz-player
description: QBZ is a native hi-fi Linux desktop client for Qobuz, designed for bit-perfect audio playback with direct ALSA and PipeWire integration.
snapcraft: https://github.com/vicrodh/qbz/blob/main/snapcraft.yaml
upstream: https://github.com/vicrodh/qbz
upstream-relation: I am the publisher and upstream maintainer.
snap listing: https://snapcraft.io/qbz-player
interfaces:
-
mpris (slot):
- request-type: auto-connection
- name: qbz
- reasoning: QBZ is a music player that uses MPRIS for desktop media key integration (play/pause/next/previous) and media widget display in desktop environments. Without auto-connection, users cannot control playback via hardware media keys or desktop media widgets.
-
alsa:
- request-type: auto-connection
- reasoning: the app is focused on hi-fi audio from Qobuz, and ALSA Direct is one of its core features. This is essential for audiophile users who need sample-rate passthrough (44.1kHz, 96kHz, 192kHz)
without resampling.
audio-playbackalone is insufficient because it routes through PulseAudio/PipeWire, which resamples audio when not properly configured.
-
pipewire:
- request-type: auto-connection
- reasoning: qbz’s PipeWire backend needs direct socket access to set the default sink (
pactl set-default-sink), create streams with explicit sample rates for DAC passthrough, and manage device routing.audio-playbackprovides PulseAudio socket access but not the direct PipeWire control needed for sample-rate switching and device selection.
Revision 23 is currently held for manual review due to the mpris slot declaration. These three interfaces are all needed for QBZ’s core audio functionality.
@reviewers — thank you in advance!