A modern take on the Rockbox open-source firmware with enhancements in Zig and Rust. This project offers:
- gRPC & GraphQL APIs for seamless interaction and control
- Chromecast support for streaming to your TV
- MPD server for compatibility with existing clients
- MPRIS support for desktop integration
- TypeScript support for building powerful extensions
Take advantage of modern tooling while preserving the core functionality of Rockbox.
Note
π² It is a work in progress and is not yet ready for use. ποΈπ§
To quickly get started, you can run the following docker command:
docker run \
--device /dev/snd \
--privileged \
-p 6061:6061 \
-p 6062:6062 \
-p 6063:6063 \
-p 6600:6600 \
-v $HOME/Music:/root/Music \
tsiry/rockbox:latest
Run the following commands to build the project: Before building the project, you need to install the necessary dependencies for your operating system.
sudo apt-get install libusb-dev libsdl1.2-dev libfreetype6-dev libunwind-dev zip protobuf-compiler cmake
sudo dnf install libusb1-devel SDL-devel freetype-devel libunwind-devel zip protobuf-compiler cmake
sudo ln -s /lib64/libusb-1.0.so /usr/lib64/libusb.so
- Clone the repository
git clone https://github.com/tsirysndr/rockbox-zig.git
git submodule update --init --recursive
- Navigate to the project directory
cd rockbox-zig
- Build the webui
cd webui/rockbox
deno install
deno run build
- Run the following command to build the project
mkdir -p build && cd build
../tools/configure --target=sdlapp --type=N --lcdwidth=320 --lcdheight=240 --prefix=$HOME/.local
make zig
with curl
(Ubuntu/Debian):
curl -fsSL https://raw.githubusercontent.com/tsirysndr/rockbox-zig/HEAD/install.sh | bash
MacOS, currently not supported, but you can run in a docker container.
Linux
: intel: rockbox_2024.12.25_x86_64-linux.tar.gz arm64: rockbox_2024.12.25_aarch64-linux.tar.gz
- Zig Build System
- Rockbox API FFI for Rust
- gRPC API
- GraphQL API
- HTTP API
- Web Client (React)
- Fast search engine, built with Tantivy
- Desktop Client (Electron/Gtk)
- Rockbox REPL
- Terminal Client (TUI)
- Android Library
- Mobile version (React Native)
- Stream from Youtube (audio only)
- Stream from Spotify
- Stream from Tidal
- Stream to Chromecast
- Stream to Kodi
- TuneIn Radio
- MPD Server
- MPRIS
- UPnP/DLNA
- Airplay
- TypeScript (Deno) API (for writing plugins)
- Wasm extensions
Open http://localhost:6062/graphiql in your browser.
Open http://localhost:6063 in your browser.
https://buf.build/tsiry/rockboxapis/docs/main:rockbox.v1alpha1
Try Rockbox gRPC API using Buf Studio.