MPD configuration

Archphile uses a recompiled version based on the Archlinux mpd and mpd-light (AUR). The features of the current version are:

[root@archphile ~]# mpd -V
Music Player Daemon 0.19.12

Copyright (C) 2003-2007 Warren Dukes <>
Copyright (C) 2008-2014 Max Kellermann <>
This is free software; see the source for copying conditions. There is NO

Database plugins:
simple proxy

Storage plugins:

Decoders plugins:
[mad] mp3 mp2
[oggflac] ogg oga
[flac] flac
[sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
[audiofile] wav au aiff aif
[dsdiff] dff
[dsf] dsf
[faad] aac
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg opus psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav webm wma wmv wsaud wsvga wv wve

Output plugins:
null fifo pipe alsa

Input plugins:
file alsa curl ffmpeg mms

Playlist plugins:
extm3u m3u pls xspf asx rss cue embcue

file:// http:// https:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps:// alsa://




Some of you may have also noticed that volume cannot be controled via the web or any other interface. This is not a problem. The reason is that I have decided to disable the mixer as I prefer to control the volume from the amplifier. If you want to change this you have to edit /etc/mpd.conf:

nano /etc/mpd.conf

Now you have to change the following line from:

mixer_type      “disabled”


mixer_type      “hardware”


mixer_type      “software”




Another option I have disabled by default is the auto update of the mpd database. If you want to change it you will have to edit /etc/mpd.conf again and change the following:

auto_update     “no”


auto_update     “yes”


Note: whenever you change a setting in mpd.conf you have to restart the mpd service:

systemctl restart mpd




Many users have a big music library and especially with the rpi it takes time to rescan when you decide to use a newer Archphile image. Below you see the steps needed to back up the mpd database with latest dbackup/drestore commands (0.99.4b):

Run dbackup command to backup the database and drestore in order to restore it. The backup location is in /opt/dbackup. You can also put your mpd.db using a fresh installation there and give drestore to restore your previously backed up MPD database. The location of the file you have to manually backup (using filezilla with sftp protocol for example) is:





Some month ago I decided to drop support for ffmped in MPD. That meant that if you had files like alac etc, you needed to install mpd from archphile repositories. After many efforts I managed to create a very minimal in dependencies package (ffmpeg-archphile) and ffmpeg support is now supported by default. However it is not enabled by default. If you want to enable it:

nano /etc/mpd.conf

you will find the section like below

decoder {
plugin “ffmpeg”
enabled “no”

change the no to yes:

decoder {
plugin “ffmpeg”
enabled “yes”

CTRL+X and then Y and press ENTER

The last step is to restart MPD:

systemctl restart mpd
systemctl daemon-reload



INSTALLATION OF CUSTOM MPD PACKAGES FROM PLAYGROUND REPOSITORY (please note that only the preinstalled package is supported!)

– A very basic MPD package without ffmpeg plus other features – ideal for users that need flac/wav/mp3/ogg capabilities

pacman -Sy mpd-archphile-minimal
systemctl reenable mpd
systemctl restart mpd

– An MPD packages that includes lintweaker’s patch for native DSD playback – It needs a newer kernel (Raspberry Pi – Udoo Quad) and a supported usb interface 

pacman -Sy mpd-archphile-native-dsd
systemctl reenable mpd
systemctl restart mpd

– An MPD fork that supports SACD ISO playback – It hasn’t been updated for months so use it at your own risk

pacman -Sy mpd-archphile-sacd
systemctl reenable mpd
systemctl restart mpd

Please note that these packages are not official and are targeted to users that know how to configure Archphile. Don’t use them if you are an owner of an i2s dac. Especially mpd-archphile-native-dsd and mpd-archphile-sacd are for DSD playback that it’s not supported with i2s. 




Please note that if you install any of the above extra MPD packages or if I give you an update of standard mpd-archphile package, for Cubox-i and Odroid there is an extra step. Just run the following command and choose the board that you have:





If you want to set MPD running in one core, you can do this as follows:

edit /usr/bin/archphile-optimize with:

nano /usr/bin/archphile-optimize

and make the changes to:

# set affinity of MPD in one core – choose values from 0-3
#taskset -c -p 2 $(pidof mpd)

so that it becomes as follows:

# set affinity of MPD in one core – choose values from 0-3
taskset -c -p 2 $(pidof mpd)

and reboot with:

systemctl reboot


A good idea is to combine the above with a custom IRQ affinity configuration I have prepared (this is not applicable for Raspberry Pi):

# nano /usr/bin/archphile-optimize

you will find the following section:

# IRQ affinity optimization – Do not apply it if you are using Raspberry Pi 2 !!!

change it to:

# IRQ affinity optimization – Do not apply it if you are using Raspberry Pi 2 !!!

and reboot with:

# systemctl reboot