Archphile 0.99.4 beta for Raspberry Pi 2 is up!

Edit: Please see updated guide for mpd-archphile-sacd. Due to a typo you need to give one extra command. The package will be re-uploaded.

Edit 2: The new mpd-archphile-sacd package is uploaded. If you haven’t installed it, please follow the instructions directly. If you have already installed, please run the following command before reinstalling:

pacman -Scc

when it asks you please press Y and ENTER twice.


Hi all,

it’s been a long since the last uploaded image and I am very happy to announce that Archphile 0.99.4 beta image for Raspberry Pi 2 is up!

If you want to have a look at the changelog please click here.

Some noticeable changes:

– custom kernel image based on 4.1.17
MPD 0.19.12
– option to run MPD only in one core
– latest YMPD with many fixes and additions (please go to settings for update DB!) that you will notice immediately like, option to play stream from the web interface, dirble support etc. It also solves an old bug that caused many folders to appear as empty.
– replacement of shairport with shairport-sync to support latest ios devices
– custom libupnp package
– dbackup/drestore commands to backup and restore MPD database
samba support for USB disks – now you can add music to your USB disk through your local network using samba
brutefir support – it’s installed by default with options in mpd.conf but of course it needs extra configuration to work
lirc installed by default. I will write a how to on how to configure your custom remote control
– Playground repository is enabled by default. It includes many packages like a minimal version of MPD, a custom MPD version with native DSD playback support and a fork of MPD with SACD ISO playback support. It also includes squeezelite, logitechmediaserver and some extra packages for which I am going to write a separate how-to.

Run MPD in one core

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

Backup/restore MPD database

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:


Share your mounted USB disk using SAMBA

systemctl start nmbd smbd
systemctl enable nmbd smbd

Installation of custom MPD packages (please note that only the preinstalled package is supported!)

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

In order to restore official MPD package just do the following:

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

Installation of squeezelite/logitechmediaserver (completely unofficial – just for experimenting – Archphile will always be an MPD based distribution)

pacman -Sy logitechmediaserver squeezelite-archphile
systemctl stop mpd ympd
systemctl disable mpd ympd
systemctl start squeezelite logitechmediaserver
systemctl enable squeezelite logitechmediaserver

The commands above will install logitechmediaserver and squeezelite on the same machine, disable MPD and ympd and will use squeezelite by default.

If you want to go back to the old situation:

systemctl start mpd ympd
systemctl enable mpd ympd

and if you want to unininstalled the extra packages:

pacman -R logitechmediaserver squeezelite-archphile

Please note that in the next days I will update the website with new sections including additional details for all the changes and additions. Most of the existing guides are ready to be used with this version

That’s all for now! I will come back the next days uploading the images for the remaining devices. I will also update i2select package in order to support the Iqaudio AMP+.

Please note that Archphile is a completely open source and non-commercial distribution based on user donations. If you like my distribution and you want to help me keep it alive please donate using the paypal button below!


P.S. I would like to thank a new Archphile forum member named espakman. His last minute bugfixes and suggestions helped me upload the best possible image for this device!




MPD flavors in next Archphile images

Hi all,

I am very happy to announce that the next archphile images are very close to be released. In this post I will present you all the different MPD packages that this release will include:


  • Standard MPD package (mpd-archphile)

This is the standard MPD package. It includes support for the majority of well known formats (including alac, ape etc.) and options and it’s suitable for the majority of the users.


  • MPD package with a minimalistic approach (mpd-archphile-minimal)

This package is what I use for my own needs. It has many of options disabled (ffmpeg, avahi, etc.) and it supports a very basic set of files (flac, mp3, ogg, aac, wav, dsf, dff).


  • MPD package with native DSD support (mpd-archphile-native-dsd)

The difference with the above package, is that it includes the lintweaker patch that enables native DSD support for various USB receivers.


  • MPD fork package with SACD ISO playback support (mpd-archphile-sacd)

This package is a fork of MPD by Maxim V. Anisiutkin that includes SACD ISO playback support. It’s not based on the same code as the above packages and it’s highly experimental. However many archphile users report that it’s stable enough for everyday use.


So why focusing so much in DSD capability?

I will be very honest with you stating that I don’t like DSD. To be more specific, it’s not that I don’t like it, but I really don’t care. Over 99% of the music I have is 16/44.1 PCM, which sounds great to my ears.

All the available SACD titles are very limited to specific audience listening to classical, jazz and classic rock recordings from the past. So even if  it sounds better or if it’s a better technology (I am not really sure about it for both of them..) it’s not for me as most of the music genres I am interested in are released in PCM format.

However, I really like to experiment and in addition I want to give Archphile users the option to test and decide themselves. Creating the packages above was easy for me and this is the reason that I am offering these two DSD specific packages based on the wonderful work of Maxim and lintweaker.




Details on upcoming Archphile version

Hi all,

It’s been a long time since my last post here, so I decided to write some notes on the images I am currently preparing.

Hardware notes:

– From next Archphile version the old raspberries (ARM6) are no longer supported

– Since yesterday I am a happy owner of an Odroid C1+. I have already installed Archphile on it, and if it continues to be stable and without problems, 0.99.4 will be the first official version for this device.

Software notes:

– Currently I am working on latest MPD 0.19.11 which seems to be a very stable version. This is one of the most lightweight packages I have created as many unneeded features have been disabled.

– In addition I am working on the MPD fork that has SACD ISO support. The package is ready but I haven’t tested it yet. It will remain on Playground Repository, meaning that it’s not a part of the main distro.

– Latest YMPD has some very nice features, like Dirble Support, multiple outputs selection plus some extras I haven’t tested yet.

– IOS 9.x broke compatibility with shairport and this is the reason I have replaced it with shairport-sync.

Samba support is added in order to share the usb disks on local network. It will be not enabled by default, but it’s a very easy procedure.

Usb disks sleep support: I have introduced two different methods for this. I will give further details after the release. It’s also not enabled by default as not all USB disks support it.

I hope that 0.99.4 Beta (it seems that I have already adopted the model of infinite beta :P), will be the best Archphile version since the beginning of this project.

My free time is currently very limited but I believe that I will be able to upload the new images during November.



p.s. I would really like to thank all the people (and especially Runeaudio team) that helped Archphile stay alive by donating during the Greek capital controls. 

MPD with native DSD mode support

Hi all,

As you may have noticed, I have been experimenting lately with various DSD configurations.

Having a DAC with a DIYINHK usb to i2s interface which supports native DSD, I tried to bypass DoP and make it work in native mode.

Both latest rpi and udoo kernels support native DSD mode for various usb interfaces. You can explore latest dev rpi kernel tree here and see the supported devices: … b/quirks.c

In addition since alsa 1.0.29 there is native DSD support. I decided to test native mode (by disabling DoP option in mpd.conf plus an additional line) and it was not possible to make it work.

I had a conversation with the main MPD developer (Max) in MPD forum and he told me that DSD_U32_BE format needed for my usb interface is not currently supported by official MPD, which at the moment only supports DSD_U8. You can read the whole topic here:

The next step was to patch MPD 0.19.9 with this code:

Using the experimental package I created I was able to use my DIY DAC in native DSD mode.

I have already uploaded the PKGBUILD and all other files needed in order to create an Archlinux package: … native-dsd

There is no package yet uploaded. I will wait until MPD 0.20 is out in order to decide what exactly I will do.

My first choice will always be vanilla MPD. However if in next versions there’s still not support for all DSD formats needed, I will create an extra package for everyone that wants to try DSD reproduction in native mode and i place it in the unofficial Playground Repository.

I still can’t understand the advantages of native DSD, when there’s DoP protocol that can successfully transfer unaltered DSD, but anyway it’s up to us to experiment and decide.

Stay tuned!



PS. If you want to discuss about it, please visit Archphile forum!

Experimental MPD package with SACD/DVD-A ISO support

Hi all,

Lately I have been experimenting with various stuff from the DSD world. As many of you know, MPD can play DSD (DFF,DSF) files fine, but there is no official support of SACD ISO. Although I believe that the best practice is to extract DSF files from the ISO, there are people who have a large library of ISO and they need direct support.

I did some google search, and it seems that a nice guy named Maxim V. Anisiutkin has created his own MPD development tree and has written all the code needed for SACD and DVD-A ISO support.

I could not resist testing it, so I created an experimental package (mpd-archphile-sacd) for arm7 (I am sorry, no support yet for the old raspberries). I tested with some SACD ISO files and the result is 100% fine. I decided to share this package for anyone who wants to experiment with this new feature.

The procedure is pretty simple and you can find all the details here.

Please note that with the new package, your mpd.conf file will be overwritten.



Archphile 0.99.3 Beta for all devices (including Raspberry Pi 2)

Note: Updated I2s configuraiton section in order to fix a small bug (thanks Panagiotis!)

Hi all!

I am very happy to announce you that Archphile 0.99.3 is available for downloading for all supported devices:

– Raspberry Pi 2
– Rasbperry Pi B/B+
– Udoo Quad
– Cubox-i

I would really like to thank all the people who donated and especiallty Kostis for donating 2 Raspberry Pi model 2 and made the release for this board possible! In addition I would like to thank Pierre, Stavros and Kostis for helping me testing the images in various stages of Archphile preparation.


– Download


Major changes/additions:

– Raspberry Pi 2 support
– native ffmpeg support (not enabled by default)
– i2s configuration tool (i2select)
– support of local cover art (using mongoose  – see below for instructions)
– latest ArchlinuxARM and MPD 0.19.9


System configuration (optional)

Network configuration (static ip highly recommended – ethernet connection also highly recommended)

Nas configuration (optional – only for NAS owners ) (usb disks are supported by default, you just plug and enjoy!)

MPD configuration (please ignore the section for more file formats and see below for details – this section will be updated ASAP)

I2s configuration (please ignore it a the moment and see below – it’s much easier now!)

Upnp and Airplay configuration

Android remote control configuration


Configuring your i2s dac with i2select configuration tool:

– use Putty from a windows machine or the terminal from Linux/BSD/Mac os X and connect via ssh on your Raspberry Pi

– I just got report about a small bug that causes mpd not to run so only the first time and before running i2select, please give the following commands

rm /usr/bin/i2select
rm -r /root/.orig
pacman -Sy i2select

– run i2select command:


You will then see the image below:


– write the number of your i2s dac and press enter

– follow the instructions in red and reboot your machine immediately using systemctl reboot command


1. The only devices tested are Iqaudio Plus and Mamboberry. I also got some nice feedback from a friend of Archphile and I believe that configuration for Hifiberry Plus will be correct out of the box. All other Dacs will also work but there might be some issues with their volume levels. Please give me feedback in Archphile forum and I will do my best to support you!

2. Some I2s Dacs like Hifiberry Plus need a special configuration for their max volume level to be 0db (bit perfect). The script apply correct settings for Hifiberry dac. These default settings will be reloaded after each reboot. If you dont want this to happen, please edit /usr/bin/archphile-optimize:

nano /usr/bin/archphile-optimize

and comment the line /usr/bin/unmute (put a # in the beginning of the line). In order to exit nano, press CTRL+X and then Y and press ENTER.

3. The volume mixer is, as always in archphile, disabled by default. If you want to change this, please edit mpd.conf:

nano /etc/mpd.conf

and change:

mixer_type      “disabled”


mixer_type      “hardware”


mixer_type      “software”

In order to exit nano, press CTRL+X and then Y and press ENTER. Then, restart MPD and you are ready:

systemctl restart mpd

systemctl restart mpd
systemctl daemon-reload


I suggest you to leave number 2 and number 3 as they are by default. These are the optimal settings for bit perfect playback. My advice is to change the volume from your amplifier, leaving Archphile configuration untouched.


FFMPEG support (or how to play various exotic file formats)

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

And you are ready!


Local cover art support using Mongoose

Many users prefer to user their own cover art while using Mpdroid or Mpod/Mpad. This is usually possible by using well known web server solutions (apache, lighttpd) and this was the reason it was not supported until now. These web servers are not light and I do not wanted a bloated Archphile. I tried various solutions and I ended up with one of the simplest. My solution uses mongoose, which is a very light web server. In order to enable it you must do the following:

edit /usr/bin/archphile-optimize

nano /usr/bin/archphile-optimize

You will find the following section

# local cover art support
# uncomment below if you use Mpdroid. The path to music is
#mongoose -listening_port 8080 -document_root /var/www/covers
# uncomment below if you use Mpod or Mpad. Please change the cover server address to
#mongoose -listening_port 8080 -document_root /var/www/Music


Lets assume that the ip of your Archphile device is If you want to fetch cover art using Mpdroid you must uncomment and modify the appropriate line so that the result is:

# local cover art support
# uncomment below if you use Mpdroid. The path to music is
mongoose -listening_port 8080 -document_root /var/www/covers
# uncomment below if you use Mpod or Mpad. Please change the cover server address to
#mongoose -listening_port 8080 -document_root /var/www/Music

In order to exit nano, press CTRL+X and then Y and press ENTER.

You must then go to settings of Mpdroid and set as path to music


If you wan to fetch cover art using Mpod/Mpad, you will enable the next line:

# local cover art support
# uncomment below if you use Mpdroid. The path to music is
#mongoose -listening_port 8080 -document_root /var/www/covers
# uncomment below if you use Mpod or Mpad. Please change the cover server address to
mongoose -listening_port 8080 -document_root /var/www/Music

In order to exit nano, press CTRL+X and then Y and press ENTER.

You must then go to settings of Mpod/Mpad and set as path to music

You must then go to settings of Mpdroid and set as path to music

A good friend Pierre tested it and reported that you can also use:

He reported that the second option was faster. I don’t have an idevice to test. You will test both and choose what is best for you!

The last step is to reboot:

systemctl reboot

Now, after each boot, you will have mongoose enabled serving your local cover art.





Archphile needs your support

Hi all!

It’s been almost 10 months that Archphile project is active. During all this period, I have done my best to support various ARM devices. This project however has a cost. Until now I have covered these costs alone (apart from two donations for Udoo Quad), but as there is always need for new devices (for example I need 2 Raspberry Pi 2 boards in order to support it) I really need your support in order to be able to continue.

As you can see, I have added a Paypal donate button on the right side of this website. If you believe that Archphile is a project that you want to see it alive in the future, your help is highly appreciated!



Arm7 repository and upgrades

Hi all,

I wish you a happy new year!

I am preparing the new beta version for Udoo and Cubox these days. This means that the repositories will be loaded with newer packages. It’s highly recommended not to upgrade or install any packages in your existing installations as you might break your Os!

It’s a good idea for existing users to leave their system untouched from today until further notice. For new users it’s highly recommended to stay with default image.



Archphile 0.99.2 Beta for the Raspberry Pi B and B+ (I2S bugfix release)

Hi all,

Archphile 0.99.2 Beta is up. It came too quickly after 0.99.1 only to fix issues with I2S dacs and 24/96 and 24/192. Some of the symptoms were:

– distorted or “fast forward” sound in 24/96 playback
– no or distorted 24/192 playback

 With this release all issues with 24/96 and 24/192 files and I2s Dacs are fixed.

If you have already downloaded 0.99.1 beta and you don’t want to download again, in this forum thread  I give all instructions to update from 0.99.1  to 0.99.2.



Note: If you use an i2s Dac, do not use rpi-update or pacman -Syu to update system. It will break 24 bit playback.

Ps. A big thanks to Marcel  and DimDim for their bug reports and to Vasilis-T who gave me his (in beta stage) I2s Dac (Mamboberry) to do my tests and be able to bugfix!