Skip to content

System Requirements

vicrodh edited this page Jul 24, 2026 · 5 revisions

System Requirements

Supported Platforms

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.

Qobuz Account

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.

Audio System

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.

System Dependencies

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.

Required (linked)

  • ALSA (libasound2) — audio
  • fontconfig and freetype — text rendering
  • libpng, bzip2 (libbz2), expat, zlib — asset/decompression support

Runtime (loaded on demand)

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

Audio (at least one)

  • PipeWire + pipewire-audio (recommended)
  • ALSA (alsa-lib, alsa-utils — the latter gives better device names and helps bit-perfect device detection)
  • PulseAudio (pulseaudio)

For Flatpak / Snap Users

If you install QBZ from Flathub or the Snap Store, all dependencies are bundled — you don't need to install anything extra.

For Package Manager Installs

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-audio

Fedora:

sudo dnf install alsa-lib fontconfig freetype libpng bzip2-libs \
  expat zlib libwayland-client libxkbcommon mesa-libEGL mesa-libGL \
  dbus-libs pipewire

Arch Linux:

sudo pacman -S alsa-lib fontconfig freetype2 libpng bzip2 expat zlib \
  wayland libxkbcommon mesa dbus pipewire pipewire-audio

Display Server

QBZ 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.

Rendering

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.

Hardware

  • 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.

Headless / daemon

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.

Clone this wiki locally