Upmpdcli downloads

Source code

The Source repository is on GitHub.

There is a short document about building and configuration here. This will be useful if you need to build from source or customize the configuration (e.g. to change the renderer name).

Current version (tar files):

Previous versions, and the kitchen sink.

For building from source, you will need a recent C++ compiler (C++11), and the development packages for libupnp ( Portable UPnP) branch 1.6, libmpdclient, libcurl, libexpat, libmicrohttpd and libjsoncpp.

I strongly advise using the patched version of libupnp6, available from packages on this page, or from the source tar file libupnp-1.6.20.jfd5.tar.gz. The patched version fixes some ennoying issues and is fully compatible with the standard one.


Various levels of installation help exist for Debian, Ubuntu, Fedora, and Gentoo. If no package exists for your system, build instructions for upmpdcli, build instructions for sc2mpd.

If upmpdcli works well for you, you may help with the maintenance and show your appreciation by following the links on the donations page: Donations page

All the binary upmpdcli packages listed below install an appropriate systemd or init script to automatically start the daemon. For trying things out, just installing the package on the host where MPD is running will get you a usable system.

If MPD is not running on the same host, you need need to edit the configuration file, /etc/upmpdcli.conf to set the MPD host name or address.

You may also want to edit the configuration file to set the UPnP renderer name, for ease of use if you have several upmpdcli instances on the network.

When upgrading from 0.6, you need to edit the preserved configuration file to set "openhome = 1" if you want to enable the OpenHome services (new installations have have the parameter set by default).


You will find Debian packages for different releases and hardware architectures. If your configuration is not covered, you can build your own using the source packages, which is not hard. See a sample build sequence here.

Note that the repositories also includes a package for a patched version of libupnp6 1.6.20. This mostly fixes an ennoying bug which resulted in upmpdcli becoming unresponsive under certain conditions, and it is believed to be fully compatible with the default Debian libupnp6 1.6 versions. The latest release also has a fix for a problem which prevented the Linn Kazoo Control Point from attaching to upmpdcli.

See here for the keys used to signed the repository. You will need to import them to suppress apt-get messages about unverified signatures (the method is described on the same page).

Streaming services: as of upmpdcli version 1.2.4, the streaming services plugins have been split into separate packages (upmpdcli-tidal, upmpdcli-qobuz, upmpdcli-gmusic), and you need to install them separately. For using the Google Music plugin, you need to install the gmusicapi Python library. This needs Python 2.7.9 or better (e.g. the standard Python version on Ubuntu Trusty is too old). Older Python versions *will* crash.


Create and edit /etc/apt/sources.list.d/upmpdcli.list and add the following lines, depending on your system.

Then install the packages which you need (adjust to taste):

sudo apt-get update sudo apt-get install upmpdcli # Optional streaming services sudo apt-get install upmpdcli-qobuz sudo apt-get install upmpdcli-gmusic sudo apt-get install upmpdcli-tidal # Optional Songcast gateway sudo apt-get install sc2mpd # Optional Songcast Receiver control web interface sudo apt-get install scweb


PPA for production packages:

sudo add-apt-repository ppa:jean-francois-dockes/upnpp1 sudo apt-get update sudo apt-get install upmpdcli sudo apt-get install upmpdcli-qobuz sudo apt-get install upmpdcli-gmusic

Note that the PPA only has i386 and amd64 builds for now. If you need to build for an ARM platform, the sample Debian build sequence linked above will work.


Fedora (24 and 25) x86_64 and source packages. You need to install the libupnpp and upmpdcli packages.


sudo dnf install libupnp libmpdclient expat jsoncpp libmicrohttpd sudo rpm -i [name of rpm file]


Someone kindly created a Gentoo overlay


MPD downloads

Ubuntu and Debian backport repositories for mpd, usually of a newer versions than the official repo's and configured slightly differently. If you have no problem with the standard version, don't look for trouble and don't install this one, it's only useful in some quite exotic cases (e.g. high bitrate uncompressed streams from HTTP and L16).

The repositories currently have either:

Older Debian/Ubuntu releases (wheezy and trusty) have 0.19 because the MPD guys like so much using the latest c++ gadgets that its almost impossible to backport their stuff (mpd now requires full c++14 support and I'm sure they're preparing for c++17) - end of rant.

Backport repository for Ubuntu

To use it, add the PPA:

sudo add-apt-repository ppa:jean-francois-dockes/mpd sudo apt-get update sudo apt-get install mpd

Debian (i386, amd64) and Raspbian (armhf raspberry PI).

For ARM Debian: beware that the Raspbian packages may have dependancies which slightly differ from the equivalent Debian release, and you may have to recompile the source package on Debian.

To use the repository:

Feedback appreciated.


Please use the Disqus comments for praise, insults, or for tips which may help others. Use the Github issue tracker for problem reports and enhancement suggestions. Use E-mail if you run into trouble, I'll be glad to help: jf at dockes dot org.

comments powered by Disqus