Native DSD in DSD playback strategy

Hi guys,

Have been using RPi for Roon bridge for quite sometime with excellent results. Bare RPi (Jessie lite) with an external USB DAC. Just bought the brand new M2tech young mkIII which supports native DSD up to 256 but I don’t have this option in the device settings in Roon. Can you advise if this is supported and I have to do some specific setting? Also in the device settings Roon recognizes it as DSD capable up to 128 only.

Thanks in advance

Btw MQA works as a charm with my new DAC and tidal masters

Almost certainly there is no native DSD support for your DAC in your Jessie lite kernel. It’s a problem that I have with my Holo Spring DAC and DietPi image.

Try DietPi. With Linux native DSD support requires an entry for the DAC in the ALSA section of the kernel. There are also patches that can add entries for DACs to the kernel. If DietPi doesn’t already have your DAC, but you can find a Linux patch for it, then drop Dan Knight a line in the DietPi section of this forum to see if he can add it.

1 Like

You could try RoPieee too and if that doesn’t work maybe Harry - Spockfish - might be able to get something in his build.

2 Likes

HI @Vasilis_Anastasiou,

How comfortable are you with running a few commands?
If so, we can check the capabilities of the DAC and I can see if I can create a patch for it.

Just let me know!

@spockfish Hi Harry, I’ve been thinking of getting hold of the Matrix Audio X-SPDIF 2 as an alternative to the Singxer SU-1 (it supports 768k PCM and DSD512 on its I2S output). Is getting support for it as simple as pinging you with the USB_ID details?

Thank you all for your answers.
@spockfish Sure If you give me the details I can run few commands.

ok @Vasilis_Anastasiou,

Here we go. I assume you’re able to login as root user.

Then run the following commands:

aplay -l

and

cat /proc/asound/card*/stream*

If you can show me the output that would be great.

Thanks!

1 Like

Hi @joel,

See below. USB_ID alone is not enough, I need to know which ‘altset’ the USB interface provides (basically how the DSD stream looks like).

Keep in mind that in quite a few cases it first requires a firmware update of the DAC itself (or more precisely: the USB interface).

Post me the details of the commands and then we’ll know if this is possible.

Thanks!

@spockfish There you go

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: UAC2 [YOUNG MKIII UAC2], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
:~ $ cat /proc/asound/card*/stream*
M2TECH YOUNG MKIII UAC2 at usb-3f980000.usb-1.4, high speed : USB Audio

Playback:
Status: Stop
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
Interface 1
Altset 2
Format: S16_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
Interface 1
Altset 3
Format: SPECIAL
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us

1 Like

Thanks!

I forgot one other command:

lsusb

It may be a while, but I’ve bookmarked your post. Thanks!

1 Like

Hi @Vasilis_Anastasiou

If you send me the output of ‘lsusb’ I’ve got enough.

Now, it looks like your DAC is indeed providing native DSD (the altset 3 with the ‘SPECIAL’), but it’s lacking the exact sample format.

What I will do is build a kernel with most commonly used format so you can try it out. No guarantees, this might require another build or it’s not gonna work at all. But let’s try!

I’ll keep you posted when the kernel is ready. It will be provided as update for RoPieee (www.ropieee.org).

Regards, Harry

Hi @spockfish
There you go.Thanks for your effort. This is a brand new DAC (first batch out of M2TECH) so I guess it will be useful for others in the future.
Thanks again for your effort!
Vasilis
$ lsusb
Bus 001 Device 004: ID 249c:9326
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$

Hi @Vasilis_Anastasiou,

I will have a patched kernel somewhere tomorrow or ultimately Monday.

As it will be distributed in the beta channel of RoPieee it might be handy to already have an image prepared with RoPieee. you can grab the latest beta image from here:

http://image.ropieee.org/ropieee-beta-20170712.img

Thanks,

1 Like

Thanks Harry.
I’ll come back next week as I left on holiday!

Hi @spockfish,

Do you have the patched kernel ready. I have prepared an image from the link you have provided above.
Don’t forget to add some guidelines on how to do the patching!

Thanks V

@spockfish
Can you help out a bit. I have installed the image did the initial setup and fixed timezone etc.(as described in http://www.ropieee.org/?page_id=51) but I don’t see the device in roon. Is there something else I have to do.


Thanks

Nope, that’s strange. It should show up under ‘Networked’.

However, do you have a device attached? So either a HAT or a USB DAC?
Otherwise RoonBridge does not show up.

The patched kernel is already available, RoPieee updates automatically during install.