Upmpdcli downloads

Source code

The Source repository is on opensourceprojects.eu.

See the following for documentation about building and configuration. 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):

Release notes.

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.

As far as I can see, the patches in the above has been accepted into the official libupnp 1.6.25, so they should become unnecessary in the future. Do not use 1.6.24, it crashes upmpdcli. See the libupnp changelog here.


Various levels of installation help exist for Debian, Ubuntu, Fedora, and Gentoo. If no package exists for your system, see the link to building instructions above.

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.

Streaming services: as of upmpdcli version 1.2.4, the streaming services plugins have been split into separate packages (upmpdcli-tidal, 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.


Note: it seems that the incompatibilies which existed between the ARM Debian and Raspbian jessie distributions are gone as from the Stretch (Debian 9) release. If you are running a Debian-based system (such as OSMC) on armhf (e.g. on a Raspberry pi), Stretch or later (Buster) please give the Raspbian repository a try. I'd be interested to hear about successes / failures: jf@dockes.org.


PPA for production packages:

sudo add-apt-repository ppa:jean-francois-dockes/upnpp1

Once the PPA is installed, see the Debian section above for the installation instructions.

Note that, if you need to build for a platform not supported by the PPA, you can use the sample Debian build sequence linked above.


x86_64 and source packages for Fedora 26, Fedora 28, Fedora 29, Fedora 30. 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

Debian backport repositories for mpd, usually of a newer versions than the official repo's and configured slightly differently. Sometimes older version instead.

If you have no problem with the standard version, don't look for trouble and don't install this one, it's only, and only sometimes, useful in some quite exotic cases (e.g. high bitrate uncompressed streams from HTTP and L16).

I have deleted the Ubuntu PPA, because recent mpd releases are ok, and Ubuntu users usually run a recent release.

The repositories currently have either:

The repository currently has mpd 0.20.23 built for Debian Buster x86-64 and armhf. This can be useful because of a DSD issue in the current 0.21 package. Because the version is older than the system's, you need to jump a few hoops: after adding the repository, list the available versions with apt-cache showpkg mpd, then install the one you want with apt install mpd=<theversion>. Example: apt install mpd=0.20.23-jfd1'.

Older Debian releases (wheezy) have MPD 0.19, because of compiler issues.

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 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