MPD (Music Player Daemon)

MPD (Music Player Daemon) is a player that leverages a client/server architecture, which allows the user to control it remotely using the various clients available for it.
It is a great choice for those users that are looking for a minimalist yet powerful tool to listen to and control their audio files.

{i} A separate client is needed to control MPD. A few of them are listed below.





Debian package specific setup

For official and latest details about MPD Debian integration please also consult file:///usr/share/doc/mpd/README.Debian

Headless setup

MPD in Debian is installed by default as a system service starting on boot. This works well on headless boxes and configuration is done in /etc/mpd.conf.

MPD will look for music in /var/lib/mpd/music, make sure content within this directory are readable for mpd user (the user running MPD system wide).

MPD will listen on localhost:6600 for client to connect, adapt bind_to_address config option to connect MPD from remote hosts.

Desktop setup

In order to use MPD within a graphical desktop session you need to start MPD from the user session and disable system service:

# As root, disable system service
systemctl disable --now mpd
# As user logged in the desktop session
systemctl --user enable mpd

Configuration is done in $XDG_CONFIG_HOME/mpd/mpd.conf (usually $XDG_CONFIG_HOME is ~/.config).

Drop at least an empty file in $XDG_CONFIG_HOME/mpd/mpd.conf to override system wide setting in /etc/mpd.conf.

Then start MPD:

systemctl --user start mpd

Music directory defaults to the XDG directory, run "xdg-user-dir MUSIC" command to print its value on your system. Change the default value with music_directory option if needed.

In case the right audio output is not correctly auto detected, see below to configure audio_output option.


Configuration example from upstream is available in /usr/share/doc/mpd/mpdconf.example.gz.

HTML documentation is available in file:///usr/share/doc/mpd/html/user.html

Audio output

MPD tries to auto detect audio output device, but you can force a specific configuration adding an audio_output section in mpd.conf.


audio_output {
        type    "pulse"
        name    "My Pulse Output"


audio_output {
        type "alsa"
        name    "My ALSA device"


audio_output {
        type            "pipewire"
        name            "PipeWire Sound Server"

Smoke test

Install mpc console client (apt install mpc) on the same host and run stats command :

# This should print some stats about the server and the music library
mpc stats
# Add files and play
mpc add / && mpc play


Console clients

Graphical clients

CategorySound CategorySoftware