DietPi: creating a lean-and-mean Roon Bridge

Thanks @lorin

@fritzg Ok all done, compiled with upnp enabled, ready for testing:

@Dan_Knight I did the upgrade and edited the /etc/mpd.conf file, but the Pi does not appear as a UPNP/DLNA device. So far, no cigar for me.

Hi @Dan_Knight, any news on when do you think youā€™ll get this patched into the kernel? No rush, but am very interested to try this out. :slight_smile: Thanks again.

Hi Noel,

I did run the patch and test compile, unfortunately, it failed. Appears the patch isnt compatible with current RPi 4.4 kernel:

sound/usb/quirks.c: At top level:
sound/usb/quirks.c:1220:5: error: redefinition of ā€˜snd_usb_select_mode_quirkā€™
 int snd_usb_select_mode_quirk(struct snd_usb_substream *subs,
     ^
sound/usb/quirks.c:1186:5: note: previous definition of ā€˜snd_usb_select_mode_quirkā€™ was here
 int snd_usb_select_mode_quirk(struct snd_usb_substream *subs,
     ^
sound/usb/quirks.c: In function ā€˜snd_usb_interface_dsd_format_quirksā€™:
sound/usb/quirks.c:1366:11: error: ā€˜SNDRV_PCM_FMTBIT_DSD_U32_BEā€™ undeclared (first use in this function)
    return SNDRV_PCM_FMTBIT_DSD_U32_BE;
           ^
scripts/Makefile.build:258: recipe for target 'sound/usb/quirks.o' failed
make[2]: *** [sound/usb/quirks.o] Error 1
scripts/Makefile.build:403: recipe for target 'sound/usb' failed
make[1]: *** [sound/usb] Error 2
Makefile:961: recipe for target 'sound' failed
make: *** [sound] Error 2

If I get another chance, iā€™ll take a look at the failed code, see if we can resolve in code, however, I cant promise anything as kernel source isnā€™t my strongest point (yet).

Hi,

Strange, lets ensure version is correct and upnp is enabled:

mpd --version | grep 21
mpd --version | grep upnp

Thanks a lot @Dan_Knight - that is all cryptic to me so Iā€™m very thankful that you tried. Really appreciate that.

1 Like

@Dan_Knight

root@DietPi:~# mpd --version | grep 21
Music Player Daemon 0.19.21
root@DietPi:~# mpd --version | grep upnp
simple proxy upnp
smbclient upnp
root@DietPi:~#

1 Like

@fritzg can you describe the functionality youā€™re trying to achieve? Because my limited experience is that this bit of code allows mpd to play files served up by upnp music servers such as minimserver, and thatā€™s about it.

1 Like

@lorin That is what I am trying to do. Play files from a upnp server. Other end points in my house show up in the server, such as a beaglebone black using mpd, but the pi does not.

1 Like

@Dan_Knight - is there a board/processor that you recommend based on price and sound quality? I will be using with Roon.

Your list of boards / processors is Great (http://dietpi.com/#download). And I see that you rate CPU performance. My main criteria are sound quality and cost - e.g. I can buy an Orange Pi One for $20 and get the better CPU performance than a Raspberry Pi ($35), but is there a sound quality difference.

Also - how does VirtualBox work? Seems it may be beyond my reach tech wiseā€¦

Iā€™m currently running DietPi on two Raspberry Piā€™s (a 2B and 3 I believe) both using Roon. Both have been stable and sound good.

I need to put two additional streamers together and need to decide what board / processor to use.

Thank you for your help and your outstanding software!!! Aloha, -Mark

1 Like

@Dan_Knight - itā€™s probably me doing something stupid, but this morning I updated the version of Dietpi running on my RPi3 from V142 to V147, and now Roon doesnā€™t see it as an endpoint anymore (it has an IQaudIO DAC+ board).

htop shows that Roon Bridge/RAAT server is running, but it just doesnā€™t show up as a Roon Endpoint. Iā€™ve tried rebooting both the Roon Core and the RPi3 several times to no effect. Have you any idea what I might be doing wrong here? Thanks.

Edit: Iā€™ve also tried starting from scratch with a fresh download of DietPi and installing the soundcard software and Roon Bridge - same result: not being seen.

Can you SSH in and issue ā€˜aplay -lā€™ at the prompt?

My guess is that the driversfor your IQAudio board is not loaded somehow. If aplay returns ā€˜no devices foundā€™ ā€“ set the soundcard to none in dietpi-config, reboot and reselect the IQAudio board.

Let us know how it goes ā€“ youā€™ve got a nice little bit of tinkering ahead of you on a sunny saterday afternoonā€¦ :wink:

1 Like

Hi Geoff,

I just completed a fresh install of v147 on RPi with Roon, all appears well. We did patch for a RoonBridge reinstall in v144 update, but weā€™ll check status of RoonBridge if the below does not resolve.

It may be one of a few issues:

  • Are you using the Beta version of Roon on your PC?
  • Try re-selecting the soundcard from dietpi-config > Audio options > Soundcard ā€œIQaudIO DAC+ā€, then reboot
  • Make sure the RPi has a connection ping google.com -c 2
  • Some users have reported rebooting their internal network (eg: power cycle router) may fix this issue ā€œloss of network discoveryā€

If problems persist:
Weā€™ll need to debug, please take a screenshot/paste of the following commands:

aplay -l
systemctl status roonbridge -l

Thanks. The problem appears to be that even though dietpi-config claims I have a DAC+ card installed, the system thinks that no soundcards are presentā€¦

Edit: I am running a beta version of the Roon Remote on this PC - Iā€™ve tested it against two Cores, one the release version and one the new beta.

I did try re-selecting the soundcard from dietpi-config, and reboot, but no changeā€¦

Edit2: Same result using the release build 208 on both Core and Roon Remote - no sign of the RPi3

Hi Mark,

If your planning to use a USB DAC, you could essentially go for any board. I believe a few users on here have had good results with the NanoPi Neo + USB DACā€™s.
Although, I donā€™t personally test all the boards for USB DAC support, so, if there is a board in mind, let me know and iā€™ll verify USB DAC functionality before you purchase.

If on the other hand, your aiming at DAC HATS, this really comes down to the board itself, and, which board supports which DAC HAT.

In my view, in terms of sound quality:

Midrange:

Top End:

If you like soldering:

The Odroid C2 will give you the best CPU/network performance. RPi will allow for more DAC HAT options in the future.
The Allo Vana Player bundle, in my eyes, is the ultimate in achieving Hi-End audio via SBCā€™s and DAC HATS.

Also - how does VirtualBox work? Seems it may be beyond my reach tech wiseā€¦

Basically, you can use your PCā€™s hardware to run a DietPi Debian system, instead of an SBC, and, ontop of your current OS (emulated). Its ideal for server usage (eg: powerful webserver), however, audio and GPU are not supported.

1 Like

What does ā€˜nano /boot/config.txtā€™ say? Is the correct overlay present at the end of the file?

EDIT: Iā€™m updating my Pi to 147 right now ā€“ see you on the other side. :wink:

Yep, good spot, thanks Gordon.

Ok, probably best we get a bug report to check system/DietPi settings are in order. Please could you complete the following, it will upload files for us to debug:
http://dietpi.com/phpbb/viewtopic.php?f=8&t=499#p2184

No need to fill out the document, only need the reference code.

Once thats sent, please try the following to reapply the soundcard:

/DietPi/dietpi/func/dietpi-set_hardware soundcard iqaudio-dacplus
reboot

#check again
aplay -l

Adding data: updated to 147 without issues, Digi+ Pro still present, Roon Bridge alpha OK.

@Geoff_Coupe: Iā€™ll leave you in the hands of @Dan_Knight now, as his are far more skilled than mine. :wink:

1 Like

Hmm, document sent (see screenshot for reference code), but even though Dietpi claims the soundcard sw is installed, no soundcard foundā€¦

Edit: whoops forgot to reboot - just doing it now.

Edit 2: nope - still no soundcards foundā€¦

1 Like

@RBM Thanks :slight_smile: