Archphile - An Archlinux Based Audiophile Distribution for Raspberry Pi and Udoo Quad

Hi Everyone!

I am opening this thread in order to present you a project i am working on since March 2014:

Archphile - Yet Another Archlinux Based Audiophile Distribution for Raspberry Pi and Udoo Quad

Summary:

Archphile is an Archlinux ARM/Mpd based distribution for Raspberry pi model B and Udoo Quad, targeted to users with USB DACS. Usb disks.

  • performance as default cpu governor (without overclocking)
  • recompiled mpd 0.18.11 (mpd-archphile) based on mpd-light from AUR – niceness is set to -19 and lots of mpd features are disabled in each version (press mpd -V for more info)
  • latest firmware using rpi-update for the Raspberry Pi version
  • ympd 1.2.2 web interface.
  • usb disk/flash automounting using udevil.
  • dchp enabled by default
  • reachable with url http://archphile.local if zeroconf is enabled. In any other situation you can find the ip from your router
  • samba/cifs/nfs support – you have configure /etc/fstab according to your own needs by modifying the sample lines
  • default credentials:
username: root
password: archphile

  • various webradios taken both from Volumio github and some added by me.
  • mixer is disabled by default. Use your amp to change the volume level. Ensure that system level is set to 100% using alsamixer command.


Supported devices:

- Raspberry Pi model B
- Udoo Quad (and dual with some extra steps)
- Cubox-i (unofficial support as I don't own any of these devices)

Details:

Archphile is in fact an ArchlinuxARM based distribution that uses MPD and a nice web interface for it, named Ympd:

Arch Linux ARM | Arch Linux ARM
Music Player Daemon
ympd - MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS

I have created a repository for this project:

Archphile - A Linux Audiophile Distribution - Repository

In this repository you will find two packages for mpd, one with minimal dependencies (installed by default) and one with ffmpeg support. You will also find ympd and some extra packages that help in the configuration of the whole system.


Why I made Archphile

The answer is simple: for fun!

I have been a linux user for many years (especially used debian unstable and Archlinux until today). What I really like in Archlinux it's the whole K.I.S.S. philosophy, that's why I created archphile with K.I.S.S. as a guide.

Ympd, is not a system web interface. It's just a web interface of mpd. You cannot configure stuff through ympd. You need ssh access and you have to configure some things yourself (with the most important being the NAS configuration). For this purpose, I have written some guides which I keep them up to date:

Archphile - A Linux Audiophile Distribution - How To

I have been asked to add features (ex. Shairport, spotify, nas configuration through web interface) many times until today. I will not do this and the reasons are:

- I am not a software developer and I don't have the knowledge to create a web interface or port YMPD and change it to my own needs. Even if I were, I would not make one. I prefer to choose and adapt existing open source project that does the job right.

- I really don't like automations. I prefer to configure my NAS one time by editing one file and forget it. From my experience, this philosophy has been proved the most stable in the world of linux.

- I know that spotify is nice, I also know that Shairport is very useful for some of you, but my intention was to create a very minimal configuration, with the less software and services possible because I believe that simplicity and low resources are two of the keys of the computer audiophile world.

Just plug the ethernet cable (or configure wifi - I always prefer ethernet) or the usb disk, connect the dac and the embedded device with a usb cabel, choose your flacs through ympd interface or any other mpd client and listen to music!!


Screenshots:

1. ympd - the mpd web interface

An externally hosted image should be here but it was not working when we last tested it.



2. Ram/cpu usage in Raspberry Pi with 24/96 Flacs:

An externally hosted image should be here but it was not working when we last tested it.



I really hope that you will enjoy Archphile!

Cheers,

Michael
 
hi,
seems to be a good approach of you, i'm using archarm on pi and am very satisfied.
will try out your android ssh idea on it, exactly what i needed for pacman -Syu, rsync and stuff like that.
anyways didn't get my snd_usb_audio (alesis multimix) running on archarm till now. as you are writing about good usb audio connectivity on archphile i will maybe try it out. wanted to get xbmc working with it.
is your distri yaourt (AUR) repo compatible ?
 
Last edited:
Hi Flexus,

yaourt is not installed but you can add it. Archphile is nothing more than a customized archlinuxarm distro.

You can also build my packages in your own distribution:

Index of /repo/src/rpi

Above you can find everything needed.

If you want for example to build mpd-archphile:

1. pacman -S base-devel (very general package group that installs all needed packages for compile, package creation etc)
2. create a user and login with this user account
3. wget http://www.archphile.org/repo/src/rpi/mpd-archphile-0.18.11-2.src.tar.gz
4. tar xvfz mpd-archphile-0.18.11-2.src.tar.gz
5. cd mpd-archphile
6. makepkg -s
7. install the created package with pacman -U or add it on your own repository
 
at the moment i'm using the package raspberrypi-firmware in /alarm repo. maybe it's the same as rpi-update. i noticed that it doesnt need to be updated by hand and makes it during a normal pacman -Syu.

thanks for the install tip, i will try out one or the other stuff of you after solving my xbmc audio thing. i've put much work on my system customization that it maybe pays of to try your suggestion with your packages to try it out.
 
Last edited:
Of course a mini PC will do the job. It depends on what your requirements are. If I buy a pc for this job in the future I will folloq the exact same procedure with the installation of an Archlinux machine.

What I have seen all these months using flacs up to 24/192 is that a pc is an overkill for this use. Now I am listening to a redbook flac album using Archphile/Udoo Quad and the resources needed are the following:

An externally hosted image should be here but it was not working when we last tested it.


I realy don't see any reason to buy a pc to for this. To sum up, the reasons that made me use an embedded device were:

- They can do the job very well (especially Udoo and Cubox)
- I have a pc less - I prefer spend my money on a high quality NAS
- The power consumption is very low
- The system is fanless - zero noise (it's important for me - my hifi is very close to the desk i am workikg)
- Low cost
- Small footprint
 
Last edited:
I will argue just for the sake of the conversation, I will always admire every effort for "good" sound.....

The RaspBerry Pi costs around 40-50 euros (depending mostly in which side of the world you are) delivered but it is known to have major problems with It's USB chip, so it's not suitable for critical (see audiophile) music reproduction.
The latest "trend" of I2S DACs that bypass the USB chip looks interesting, I don't know how the I2S signal is "generated" in it though.

The UDOO costs around 120-130 euros (again depending mostly in which side of the world you are) delivered, has a "better" USB chip, it's a great "tool" made mostly for Arduino needed applications.


Question: Is ArchPhile (Phile as audiophile I presume) Bit Perfect as at least it's ought to for critical music reproduction?


To avoid any confusion, by Mini Client PC I mean the latest ~15 x 10cm machines which are essentially stripped down full featured PCs.
They come in many "flavors", for example an AMD E240 1.5GHz with DDR3 SO-DIMM 1GB memory (upgradeable to 8GB) and 8GB SSD (upgradeable to ........) costs around 110euro, delivered.....
Of course don't expect to run CATIA gear stress simulation on it unless you are a Vulcan with 200 years lifespan...:p

There's no need for custom made SW to work as you can load it with anything, from Debian to Linux to Windows and of course can be made Bit Perfect.
You can even make it Multi OS and discover (any) differences between Linux (AP Linux) and Win.....

I have both in it......
Lubuntu-Low Latency Kernel-ALSA (disabled Pulse Audio)-DeadBeef-USB Xmos DAC......
WIN7-cMP Environment-Foobar, JRiver-USB Xmos DAC......


- They can do the job very well (especially Udoo and Cubox)

A client PC can do it "better" for the above reasons.

- I have a pc less - I prefer spend my money on a high quality NAS
You can't really call a client PC a PC if it's only use is music reproduction and it costs less than both the UDOO and Cubox.


- The power consumption is very low
A client PC needs less than 2amps at 12v but I really don't see what power consumption has to do with it, you still have to connect to a power amplifier that needs 20 times more, do you know any audiophile that will "reject" a really good sounding amplifier based on power consumption?


- The system is fanless - zero noise (it's important for me - my hifi is very close to the desk i am workikg)
Client PCs are fan-less too.


- Low cost
Except from the RassBerry Pi (which is not suitable for critical music reproduction) client PCs costs less than both the UDOO and Cubox.


- Small footprint
Ok, a client PC is bigger at 10 x 15cm, double the footprint of an UDOO, does it really matters when you have to connect it to a 2U sized USB DAC (because it sounds better)?
The only reason I see fit is for someone that already bought an UDOO for another project that failed and want to put it in good use instead of throw it in the drawer, but starting a demanding audiophile Bit Perfect SW based transport project from scratch using any of these is unconventional to say the least.
Am I really missing something? Please educate the idiot here..:)

Konstantinos
 
Last edited:
My friend I am not here to convince you to by an embedded device for audiophile use.

The raspberry pi used to have lots of issues with USB dacs. It still does but the situation is by far better. With all the optimizations I've done (kernel with new usb driver and removal of usb hid from the DAC) it's perfect for many dacs, at least with two I own.

As far as the udoo and cubox are concerned they are both perfect for this job. I haven't tested dsd though because my dacs don't support it.

With regards to 'bit perfect', yes the configuration is for bit perfect music reproduction.

As it seems you ve made your choice and many of us mad made ours. Let's both have fun by listening to music!
 
Please don't be "alarmed", I have and will always have great respect for any attempt on better audio reproduction. I'm not looking for conviction, the arguments are well-intentioned and for the sake of the conversation as I said earlier.

BTW, the problem with RassBerry Pi is in it's hardware, so I do not see how a new USB driver can overcome the unusually (just 140ma) low current provided for its USB devices.

Konstantinos


My friend I am not here to convince you to by an embedded device for audiophile use.

The raspberry pi used to have lots of issues with USB dacs. It still does but the situation is by far better. With all the optimizations I've done (kernel with new usb driver and removal of usb hid from the DAC) it's perfect for many dacs, at least with two I own.

As far as the udoo and cubox are concerned they are both perfect for this job. I haven't tested dsd though because my dacs don't support it.

With regards to 'bit perfect', yes the configuration is for bit perfect music reproduction.

As it seems you ve made your choice and many of us mad made ours. Let's both have fun by listening to music!
 
Last edited:
Of course there is no problem arguing!

When I first started my involvement with ARM devices many people I know that use x86 for music reproduction had the same opinion on them and suggested me the same, just to buy a pc and stop playing with embedded boards.

To be honest, back at the time I had only the rpi and it had issues with my dac I was ready to move to x86 platform. The major problem of the Raspberry Pi is that it's ethernet is just a third USB port. This shared usb bus caused a painful interference between a USB dac and the ethernet card. After the changes of the rpi firmware and after buying the Udoo (and testing a friends cubox-i4 pro) I feel there is no way back.

My personal need is a very minimal headless operating system that "sees" my FLACS from a NAS and reproduces them.

Even if I had a pc or if my ARM devices were compliant with several Windows and Linux OS I would not use them. I believe that a Graphical User Interface is not the right choice for Hi Fi use. From my point of view the more minimal, the better.

I have been using Linux as my only Desktop and Server OS for about 12 years now and I still would not trust a desktop Linux OS for music. Even a minimal Linux Desktop has plenty of processes and daemons running and many things can go wrong, leading to high cpu and ram use. For me a linux system with MPD should be the same like all other linux server applications and it's very rare to see a linux server with a GUI even in 2014.

Archphile is not a special operating system or a super duper recipe. It's just a very very minimal Archlinux with optimizations and some self compiled packages. Everyone can do the exact same installation on his pc.

For my needs K.I.S.S. is the way to go and especially Udoo along with Archlinux makes a perfect combination for a K.I.S.S. approach. You set it up once and you forget it.
 
Last edited:
Everyone values different criteria. MiniPC (btw a completely fanless reliable one is not so inexpensive) has its advantages (e.g. windows for those not friendly with linux), embedded boards too. They are different devices for overlapping yet mildly different use cases.
 
I'm running embedded boards for quite some time now.

There are disadvantages!! (I also tested UDOO btw and it failed)


The HW quality is usually not comparable to top level motherboards.
You might hit problems here and there. The very important (for audio purposes) power and noise situation is not always at highest quality.
The kernel/driver/firmware support is usually pretty shaky. Things might run, but might not run perfectly.
The support lifecycle of these boards is usually also pretty short. You often rely on the community to get things fixed.
If the community decides not to support a board anymore, you stay where you are with it.

The 1% CPU consumption shown above is not really explaining it all.
Squeezelite runs at 0.7% on my Debian Jessy (That replaced my earlier Archlinux installation)
I've seen sudden peakloads which almost lock up the system. Complex tasks
like a database rescan take quite some time. If you download all your coverarts to a client (tablet/phone) things can get bumpy.
Control commands to an embedded server show certain latencies. The less you run on such a board the smoother things get.


Manageability:

For a non-hacker it requires Volumio or Rune Audio to get going.
Otherwise things get complex.


However. If the embedded board HW and its SW situation exactly matches your requirements, and you do a little or a little more tweaking, such a board
can do quite good job.

I btw. switched back from Arch to Debian, because the SW and community support was much better on Debian.
It was also much easier to crosscompile stuff on my Ubuntu machine for my Debian install.

Good luck with your project.

Cheers
 
Last edited:
Hi all,

I decided to remove the image “supposed to be stable” image for the raspberry pi as I found some last minute annoying problems and I believe that it’s best to apply some more fixes and do some additional testing.

Later today or tomorrow I will upload a new image hoping to be the final beta for this device.

I really apologize for this inconvenience.

Regards,

Michael