> ## Documentation Index
> Fetch the complete documentation index at: https://rockboxzig.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Common questions about Rockbox Daemon.

> [accordion] What's the difference between Rockbox and Rockbox Daemon?
>
> [Rockbox](https://www.rockbox.org) is firmware for portable audio
> players. Rockbox Daemon wraps that same C audio engine in Rust and Zig
> services, exposing it on a desktop/server as a single `rockboxd` binary
> with gRPC, GraphQL, HTTP and MPD APIs and multi-room output sinks.
> The DSP, codecs and tag database come straight from upstream Rockbox.

> [accordion] Does it really run on a Raspberry Pi?
>
> Yes. Linux ARM64 builds are on the
> [Releases page](https://github.com/tsirysndr/rockboxd/releases). It
> runs comfortably on a Pi 4; on a Pi 3 expect Typesense indexing to be
> slower on first scan but playback is fine.

> [accordion] Which audio formats are supported?
>
> MP3, OGG Vorbis, FLAC, WAV, AAC, ALAC, Opus, Musepack, WMA, APE,
> Wavpack, Speex, AIFF, AC3, SID and several more — 20+ codecs total. The
> codec list comes from upstream Rockbox; see
> [`AUDIO_EXTENSIONS`](https://github.com/tsirysndr/rockboxd/blob/master/crates/server/src/lib.rs)
> for what is auto-scanned into the library.

> [accordion] Can I stream from YouTube / Spotify / Tidal?
>
> Not yet. Generic HTTP(S) stream URLs work — you can queue them and
> playback works through the netstream layer in `crates/netstream/`. Rich
> provider integrations (YouTube, Spotify, Tidal) are on the roadmap.

> [accordion] Why not just use mpd / Mopidy / Volumio / Snapcast directly?
>
> You can — they're great projects. Rockbox Daemon differs in that the
> audio engine, DSP, parametric EQ and crossfade are the upstream Rockbox
> implementation rather than ALSA's defaults. If you specifically want
> Rockbox's sound (dithering, PBE, Haas surround, ReplayGain pipeline, the
> EQ presets) on a desktop or server, this is one way to get it.

> [accordion] Multi-room: AirPlay vs Snapcast vs Squeezelite — which one?
>
> * **AirPlay** — pick this if you have Apple TVs / HomePods / shairport-sync
>   receivers. Built-in fan-out, \~8 ms tight sync.
> * **Snapcast** — best when you have or are willing to deploy snapserver and
>   multiple snapclients. Works on every platform, very tight sync.
> * **Squeezelite** — pick this if you already run squeezelite or
>   Logitech-style hardware. One rockboxd serves any number of squeezelite
>   clients with per-client cursors into a 4 MB shared buffer.

> [accordion] Does it work with my MPD client?
>
> Probably. Rockbox runs an MPD-compatible server on port 6600. `mpc`,
> `ncmpcpp`, MALP, M.A.L.P. and Cantata are all tested. If your client
> breaks on something Rockbox-specific, please open an issue.

> [accordion] Can I run rockboxd headless / as a service?
>
> Yes — `rockbox service install` registers a user-level systemd unit. See
> [Installation](https://rockboxzig.mintlify.site/installation.md#run-as-a-systemd-service).

> [accordion] Where are the listening stats stored?
>
> SQLite, in `~/.config/rockbox.org/library.db`. The
> [smart playlist rules](https://rockboxzig.mintlify.site/sdks/typescript.md) read from this database.
> You can record `played` / `skipped` events manually from any SDK or via
> the REST endpoints `POST /track-stats/{id}/played` and
> `POST /track-stats/{id}/skipped`.

> [accordion] Why a single binary?
>
> Simpler to deploy, simpler to debug, and the firmware/Rust boundary is
> already complex enough that adding IPC on top would be a step backward.
> The C audio engine and the Rust services share memory through static
> libraries linked by Zig — see [Architecture](https://rockboxzig.mintlify.site/architecture/overview.md).

> [accordion] Does it support Bluetooth?
>
> On Linux, yes — pairing/connecting is exposed through the REST and
> GraphQL APIs (and SDKs). On macOS and Windows, no first-party
> integration; use the OS-level Bluetooth stack and route the built-in
> CPAL output to the BT device.

> [accordion] Can I write a plugin?
>
> Yes. Every SDK ships a Jellyfin-style plugin lifecycle:
>
> ```ts theme={"theme":{"light":"catppuccin-latte","dark":"min-dark"}}
> const SleepTimer = (minutes: number): RockboxPlugin => ({
>   name: 'sleep-timer',
>   version: '1.0.0',
>   install({ events, query }) {
>     setTimeout(() => query('mutation { hardStop }'), minutes * 60_000);
>   },
> });
>
> await client.use(SleepTimer(30));
> ```
>
> Wasm extensions inside `rockboxd` itself are on the roadmap.

> [accordion] How do I contribute?
>
> Read the [Contributing guide](https://github.com/tsirysndr/rockboxd/blob/master/CONTRIBUTING.md),
> hop into [Discord](https://discord.gg/tXPrgcPKSt), and open a PR. Build
> from source with the [build instructions](https://rockboxzig.mintlify.site/architecture/build.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.