Hi Davidr,
I think uPnP bridges are definitely a better option than adding a rpi Dac etc, But the “Sonore UPnP bridge” is only one option. I have an ND5 XS, and I use Roon , without any additional hardware - I just purchased Roon software. It is installed the Roon server I had lying around, but I also installed LMS-to-uPnP on that same box. This is a piece of opensource code, freely available. all you need to do is set Roon in the interface to turn on “Logitech Media Server compatibility” and then edit a config file in LMS-to-uPnP . I accept that this is a more technical route, however it will allow the testing of Roon without any outlay. The only downside is that the meta data doesn’t show up on my streamer screen, I can live without it since I prefer the Roon interface on a tablet. Not sure if digital volume works either - will need to check - i think maybe the DSP engine needs to be on for that, but i have it off and just use the volume on my NAC 102.
The LMS-to-uPnP is avalable from here :
https://github.com/philippe44/LMS-to-uPnP
https://sourceforge.net/projects/lms-to-upnp/
Also there is nothing to compile - all software is pre-compiled for many architectures and all binaries come inside the zip file including win/mac/rpi/linux/nas devices:
squeeze2upnp-aarch64
squeeze2upnp-armv6hf-static
squeeze2upnp-ppc
squeeze2upnp-x86
squeeze2upnp-aarch64-static
squeeze2upnp-bsd-x64
squeeze2upnp-ppc-static
squeeze2upnp-x86-64
squeeze2upnp-armv5te
squeeze2upnp-bsd-x64-static
squeeze2upnp-sparc
squeeze2upnp-x86-64-static
squeeze2upnp-armv5te-static
squeeze2upnp-osx-multi
squeeze2upnp-sparc-static
squeeze2upnp-x86-static
squeeze2upnp-armv6hf
squeeze2upnp-osx-multi-static
squeeze2upnp-win.exe
There is a config file in the bridge software called config.txt this is where you set the maximum limits of you endpoint hardware - my ND5 XS can do 192KHz and 24bit, so i describe them in the config below. I think the way these settings work is that they advertise back to the to Roon core what your hardware can do and that in turn triggers the DSP engine to kickin where needed.
If its worth me doing a separate post on this let me know and i can add the systemd scripts etc.
Here is my config.txt file:
<squeeze2upnp>
<common>
<streambuf_size>524288</streambuf_size>
<output_size>4194304</output_size>
<stream_length>-3</stream_length>
<enabled>1</enabled>
<roon_mode>1</roon_mode>
<codecs>aac,ogg,flc,alc,aif,pcm,mp3</codecs>
<mode>thru</mode>
<raw_audio_format>wav,raw,aif</raw_audio_format>
<sample_rate>48000</sample_rate>
<L24_format>1</L24_format>
<flac_header>1</flac_header>
<forced_mimetypes></forced_mimetypes>
<seek_after_pause>0</seek_after_pause>
<send_icy>1</send_icy>
<volume_on_play>1</volume_on_play>
<volume_feedback>1</volume_feedback>
<send_metadata>1</send_metadata>
<send_coverart>1</send_coverart>
<max_volume>100</max_volume>
<accept_nexturi>1</accept_nexturi>
<min_gapless>10</min_gapless>
<auto_play>0</auto_play>
<server>?</server>
<resample_options></resample_options>
</common>
<upnp_socket>?</upnp_socket>
<slimproto_log>info</slimproto_log>
<slimmain_log>warn</slimmain_log>
<stream_log>warn</stream_log>
<output_log>info</output_log>
<decode_log>warn</decode_log>
<main_log>info</main_log>
<upnp_log>info</upnp_log>
<util_log>warn</util_log>
<log_limit>-1</log_limit>
<device>
<udn>uuid:67a91540-097a-d74a-d66d-2bcf116dfe06</udn>
<name>Kodi (kodi)</name>
<friendly_name>Kodi (kodi)</friendly_name>
<mac>bb:bb:2a:39:56:53</mac>
<enabled>1</enabled>
</device>
<device>
<udn>uuid:5F9EC1B3-ED59-79BB-4530-0011F68C99A2</udn>
<name>naim lounge</name>
<friendly_name>naim lounge</friendly_name>
<mac>bb:bb:01:a9:ba:03</mac>
<enabled>1</enabled>
<sample_rate>192000</sample_rate>
<send_coverart>0</send_coverart>
<volume_on_play>-1</volume_on_play>
</device>
</squeeze2upnp>
Hope this helps