Skip to content

Installation

go-mpd-discplayer requires runtime libraries for disc ID reading and device monitoring (libdiscid, libgudev, libcdio-paranoia). These are installed automatically by the deb package.

ArchitecturePackageTested on
amd64debFedora 43, Debian 13
arm64debRaspberry Pi 3/4/5 (64-bit)
armv7hfdebRaspberry Pi 2/3 (32-bit)
armhf (ARMv6)debRaspberry Pi B / B+ / Zero
Terminal window
curl -fsSL https://apt.odio.love/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/odio.gpg
echo "deb [signed-by=/usr/share/keyrings/odio.gpg] https://apt.odio.love stable main" | sudo tee /etc/apt/sources.list.d/odio.list
sudo apt update
sudo apt install mpd-discplayer

Pre-built deb packages for all architectures are available on the releases page.

Terminal window
sudo dpkg -i mpd-discplayer_<version>_<arch>.deb

Download the standalone binary from the releases page and install the required runtime libraries:

Terminal window
# Debian Bookworm
sudo apt install libcdparanoia0 libdiscid0 libgudev-1.0-0
# Debian Trixie / Raspberry Pi OS (latest)
sudo apt install libcdio-paranoia2t64 libdiscid0 libgudev-1.0-0

Install the dev libraries first:

Terminal window
# Debian
sudo apt install gcc libdiscid-dev libgudev-1.0-dev libasound2-dev pkg-config
# Fedora
sudo dnf install gcc libdiscid-devel libgudev-devel alsa-lib-devel pkgconf

Then build:

Terminal window
git clone https://github.com/b0bbywan/go-mpd-discplayer.git
cd go-mpd-discplayer
go build -o mpd-discplayer .

The deb package installs the service automatically. If you installed from source:

Terminal window
sudo cp share/mpd-discplayer.service /usr/lib/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now mpd-discplayer

Headless systems: enable lingering so the user session survives without an active login:

Terminal window
sudo loginctl enable-linger <username>