Jump to content
IGNORED

First fanless build on MPD + RT Linux


Recommended Posts

Hi all,

 

I've been a long time reader of the CA forum and in this first post I want to ask your opinion on my fanless build. It will be a headless server, based on MPD and RT Linux. I'll stay with the CAPS design philosophy as closely as possible. I just ordered the parts and will keep you posted on my progress. This is my setup:

 

Akasa Euler fanless case

Gigabyte GA-H61TN (thin mITX mainboard)

Intel Pentium G630T

OCZ Vertex 64 GB SSD

 

For a review of the case, see: Akasa Euler Fanless Thin ITX Case | silentpcreview.com

 

Other components:

Musical Fidelity V-Link (on its own linear PSU, circumventing the USB power line)

Metrum Octave + linear PSU

Duson PA-100 (Class A stereo amplifier)

 

 

All my music will be placed on either the SSD or on the network and MPD can be controlled through my phone or tablet using one of the available clients. Once it's up and running, it's really convenient.

 

As for the software I'll be using MPD on (stripped-down) Debian Linux, because of my experiences with this combination. On an earlier build I really came to love the sound of the PREEMPT RT kernel. Despite the disbelief I noticed in other threads by some of the audio qualities of a real-time Linux kernel, I really want to say that it did wonders to my previous setup. Voices are so clear, they almost seem visible in space like a hologram. Audiences and drum sounds in live recordings sound very realistic too.

 

To make full use of the real-time kernel, you need to prioritize the threaded IRQs, which can be done effectively by using the rtirq scripts by Rui Nuno Capela. Then there are some small adjustments, such as increasing the priority of the MPD process and setting the processor affinity for each process, working towards placing MPD on its own CPU core. See this guide for some useful tips (based on Voyage MPD): ?????

 

Furthermore, I'm using the following ALSA configuration in my MPD.conf, allowing me to make use of the async-USB properties of my USB-S/PDIF converter:

 

device "hw:1,0"

format "*:24_3:2"

use_mmap "yes"

auto_resample "no"

 

 

I suspect some people on this forum are using similar configurations and I'm interested to hear how they compare their own setups to the more expensive servers and appliances of the established brands.

 

In short, has anybody used the Akasa Euler case for a CAPS before? And does anyone have good tips on how to get the most out of my setup?

 

I'd really like to hear your comments and tips!

 

Regards,

 

Vincent

Link to comment
Hi all,

 

I've been a long time reader of the CA forum and in this first post I want to ask your opinion on my fanless build. It will be a headless server, based on MPD and RT Linux. I'll stay with the CAPS design philosophy as closely as possible. I just ordered the parts and will keep you posted on my progress. This is my setup:

 

Akasa Euler fanless case

Gigabyte GA-H61TN (thin mITX mainboard)

Intel Pentium G630T

OCZ Vertex 64 GB SSD

 

For a review of the case, see: Akasa Euler Fanless Thin ITX Case | silentpcreview.com

 

Other components:

Musical Fidelity V-Link (on its own linear PSU, circumventing the USB power line)

Metrum Octave + linear PSU

Duson PA-100 (Class A stereo amplifier)

 

 

All my music will be placed on either the SSD or on the network and MPD can be controlled through my phone or tablet using one of the available clients. Once it's up and running, it's really convenient.

 

As for the software I'll be using MPD on (stripped-down) Debian Linux, because of my experiences with this combination. On an earlier build I really came to love the sound of the PREEMPT RT kernel. Despite the disbelief I noticed in other threads by some of the audio qualities of a real-time Linux kernel, I really want to say that it did wonders to my previous setup. Voices are so clear, they almost seem visible in space like a hologram. Audiences and drum sounds in live recordings sound very realistic too.

 

To make full use of the real-time kernel, you need to prioritize the threaded IRQs, which can be done effectively by using the rtirq scripts by Rui Nuno Capela. Then there are some small adjustments, such as increasing the priority of the MPD process and setting the processor affinity for each process, working towards placing MPD on its own CPU core. See this guide for some useful tips (based on Voyage MPD): ?????

 

Furthermore, I'm using the following ALSA configuration in my MPD.conf, allowing me to make use of the async-USB properties of my USB-S/PDIF converter:

 

device "hw:1,0"

format "*:24_3:2"

use_mmap "yes"

auto_resample "no"

 

 

I suspect some people on this forum are using similar configurations and I'm interested to hear how they compare their own setups to the more expensive servers and appliances of the established brands.

 

In short, has anybody used the Akasa Euler case for a CAPS before? And does anyone have good tips on how to get the most out of my setup?

 

I'd really like to hear your comments and tips!

 

Regards,

 

Vincent

 

Thanks for an interesting write up of your plans. I'm using a BeagleBone Black as per the recent Computer Audiophile article and blog, and wonder how your ITX board would compare. I assume you are going to use it with a NAS and won't be putting the music tracks on the 64 GB SSD? If so that should be very comparable. I am using tracks in AIFF format mounted via NFS with my BeagleBone.

 

Like you I am using a Musical Fidelity V-Link with a linear power supply. I was interested in your suggestion about the 'use_mmap "yes"' option in mpd.conf and went off and did some searching. I wasn't sure whether or not it would make a difference with the standard USB driver and a V-Link - does that driver have memory mapped IO, or is it only more specialist drivers? I've added it to my set up anyway for now.

 

What does the 'format "*:24_3:2"' option do in conjuction with a V-Link?

 

Did you build the PREEMPT RT kernel yourself? I wonder if it is possible to build it for ARM with the Debian Wheezy kernel sources.

 

I've looked at the Linux tuning tips guide that you link to before, but I thought they were a bit too complicated to apply without knowing exactly what the reason for each one was and how the recommended value was derived. I've bookmarked it anyway, and it is something I intend to come back to at some point when I'm in the mood for some more tweakage.

System (i): Stack Audio Link > Denafrips Iris 12th/Ares 12th-1; Gyrodec/SME V/Hana SL/EAT E-Glo Petit/Magnum Dynalab FT101A) > PrimaLuna Evo 100 amp > Klipsch RP-600M/REL T5x subs

System (ii): Allo USB Signature > Bel Canto uLink+AQVOX psu > Chord Hugo > APPJ EL34 > Tandy LX5/REL Tzero v3 subs

System (iii) KEF LS50W/KEF R400b subs

System (iv) Technics 1210GR > Leak 230 > Tannoy Cheviot

Link to comment

Hi Richard,

 

the Beaglebone you mention would compare well to my earlier setup. I used a stock router (TP-Link TL-WR1043ND) and put OpenWRT on it. With some effort I managed to get MPD working. The sound from these small systems is really clean, almost as if you can hear the fact that there are less components installed on the mainboard. The only drawback I could find to this system was that playback of larger, better quality audio files was not 100% stutter-free. Maybe the Beaglebone will do fine, as its CPU is a bit faster.

 

About the location of the audio files, I think I might compare both options. 64 GB won't be enough to store my entire collection, but I should be able to make a selection. NFS or Samba will both do fine in a streaming configuration. I think there's a comparison of both floating around the internet.

 

The mmap option refers to memory mapped I/O, as you already said. Instead of copying data around, only pointers to buffers are exchanged, which I think might contribute to less jitter. When I turned on this option, the soundstage got a bit cleaner.

 

*:24_3:2 tells ALSA to leave the samplerate unchanged, and output the data in the S24_3LE format across two channels. This is the format the V-Link understands. Data is sent bit-perfect without any form of processing.

 

The PREEMPT RT kernel is available in the Debian repository (linux-image-rt), at least in the 686 and amd64 flavors. For ARM you still have to download, patch and compile the kernel yourself. I am also unsure if support for high-resolution timers has been added for ARM yet.

Link to comment

Sounds great and it's a nice case too! It also stays pretty cool: 47 C at 25 C ambient temperature.

 

See the setup below and the connection to the V-Link in the second picture. The direct USB connector is mentioned here on the forum as well. I really like the sound of it when it's combined with the linear PSU.

 

IMG_0413.jpg

IMG_0412.jpg

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...