-
-
Notifications
You must be signed in to change notification settings - Fork 45
System Requirements
| Platform | Architecture | Status |
|---|---|---|
| Linux | x86_64 (Intel/AMD 64-bit) | Fully supported |
| Linux | aarch64 (ARM 64-bit) | Supported |
| macOS | Apple Silicon (aarch64) | Experimental |
| macOS | Intel (x86_64) | Experimental |
QBZ is a Linux-first application — the whole audio design is built around the Linux stack (ALSA, PipeWire, PulseAudio, JACK). Since 2.0 it is a single native Rust process with a Slint UI (no webview, no browser engine).
macOS is supported but experimental and maintained by a contributor (@afonsojramos); PipeWire, ALSA Direct, casting and low-level device control are Linux-only. There is no Windows build yet.
You need an active Qobuz subscription to use QBZ. Any plan works, but:
| Plan | Max Quality |
|---|---|
| Studio / Sublime | Hi-Res 24-bit / 192 kHz |
| Standard | CD Quality 16-bit / 44.1 kHz |
If you care about bit-perfect Hi-Res playback (the main reason to use QBZ), a Studio or Sublime plan is recommended.
QBZ supports the following audio backends:
| Backend | Description | Best For |
|---|---|---|
| PipeWire | Modern Linux audio server (default) | Most users, general use |
| ALSA | Direct kernel-level audio | Users without PipeWire |
| ALSA Direct (hw:) | Bypass all mixers, direct hardware access | Bit-perfect / exclusive mode |
| PulseAudio | Legacy audio server | Older systems |
| JACK | Pro-audio routing (QBZ appears as a JACK client) | Studio setups (not bit-perfect — the JACK graph runs at one fixed rate) |
Recommended: PipeWire is the default on most modern Linux distributions (Fedora, Ubuntu 22.10+, Arch, etc.) and works well out of the box.
QBZ is a native Slint binary — there is no WebKitGTK, GTK, GStreamer or Tauri requirement anymore. The linked-in libraries are small and already present on virtually every desktop system.
-
ALSA (
libasound2) — audio - fontconfig and freetype — text rendering
-
libpng, bzip2 (
libbz2), expat, zlib — asset/decompression support
The Wayland / X11 / GL / D-Bus stack is loaded at runtime by the windowing and GPU layers. Missing pieces degrade gracefully (e.g. X11 fallback) rather than blocking startup:
-
Wayland (
libwayland-client) and/or X11 (libxcb) - libxkbcommon — keyboard input
- libEGL / libGL — GPU rendering (wgpu / femtovg)
- libdbus — MPRIS, tray, notifications
-
PipeWire +
pipewire-audio(recommended) -
ALSA (
alsa-lib,alsa-utils— the latter gives better device names and helps bit-perfect device detection) -
PulseAudio (
pulseaudio)
If you install QBZ from Flathub or the Snap Store, all dependencies are bundled — you don't need to install anything extra.
The .deb and .rpm packages already declare these as dependencies, so a normal install pulls them in. You usually don't need to install anything by hand. For the tarball or AppImage, the libraries below are typically present already; install them only if the app complains:
Debian / Ubuntu:
sudo apt install libasound2 libfontconfig1 libfreetype6 libpng16-16 \
libbz2-1.0 libexpat1 zlib1g libwayland-client0 libxkbcommon0 \
libegl1 libgl1 libdbus-1-3 libxcb1 pipewire pipewire-audioFedora:
sudo dnf install alsa-lib fontconfig freetype libpng bzip2-libs \
expat zlib libwayland-client libxkbcommon mesa-libEGL mesa-libGL \
dbus-libs pipewireArch Linux:
sudo pacman -S alsa-lib fontconfig freetype2 libpng bzip2 expat zlib \
wayland libxkbcommon mesa dbus pipewire pipewire-audioQBZ works on both Wayland and X11.
- On Wayland: runs natively by default
- On X11: runs natively
- If you experience graphics issues on Wayland, turn on Force X11 in Settings > Graphics (persisted). To fall back to CPU rendering, launch with
QBZ_RENDERER=software qbz.
QBZ picks a renderer automatically based on your GPU:
- wgpu (Vulkan/Metal) — the default on capable GPUs; required for the dynamic album-art background
- femtovg (GL) — used on weaker GPUs
- software — CPU fallback
You can override the choice in Settings > Graphics, or force it with QBZ_RENDERER=gpu|gl|software. Hardware acceleration can be toggled off there too.
- Storage: ~100 MB for the app, plus cache space (configurable, default ~1.2 GB total)
- RAM: ~200-400 MB during playback
- GPU: Optional hardware acceleration (can be disabled if problematic). A dedicated GPU is recommended if you want the dynamic background enabled.
The qbzd daemon needs no display server or GPU at all — just an audio device (a DAC). It's aimed at always-on boxes like a Raspberry Pi. See Headless Daemon.
Getting Started
Audio
Appearance
My QBZ
Features
Help