Volumio won't play DSD native

has there been a chance to list the Grace Design SDAC-B as DSD native? it is still not working for me. RPi.

First of all, it is not as simple as that. All USB audio devices, capable of DSD direct, need to be registered in the kernel’s usb audio driver on the platform you use.
It is not just a “list” we can add to.

Tinkerboard/Primo is based on the vendor’s kernel (Asus), we have some influence to get changes.
X86 is based on standard version from kernel.org, we do compile it ourselves, but do not intend to touch it to avoid issues when doing our regular kernel updates.
RPI uses the foundation’s kernel, we have no influence changing it.
With community portings we have some freedom, but also within limits.

It is the manufacturer’s task to do get his DSD capable DACS registered, some do, some don’t find linux that important. Be bold, get in touch with them, if nobody complains, nothing will chance.

1 Like

thanks for the informative reply! I’ll get in touch with them.

Correct. My device is based on “20b1:2102”
I am absolutely sure that the device is capable of DSD native(only 64 though)
I attached two pictures
One is when I play a DSD 64 with volumio, the other is when I play the same file with MPD 0.19.xxx on a minimum Debian jessie installed on a Alix computer
Here is my cat /proc/asound/card1/stream0 result
####################
volumio@volumiocm4:~$ cat /proc/asound/card1/stream0
SOtM SOtM USB Audio 2.0 at usb-fe980000.usb-1.2, 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
Data packet interval: 125 us
Bits: 32

looks like your stream0 output has been cut off.
DSD capability should be under altset 2 or 3

Thank you for your quick reply
I just realized that.
However that’s all I get, ie I don’t get alt2, alt3
Saying above post, it was not cut off
What I get is the following
####################################
volumio@volumiocm4:~$ cat /proc/asound/card1/stream0
SOtM SOtM USB Audio 2.0 at usb-fe980000.usb-1.2, 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
Data packet interval: 125 us
Bits: 32
volumio@volumiocm4:~$

####################################
That’s it…

Then the DAC is not being recognized as DSD capable (S32_LE ) and only plays upto 192Khz.
Did you try a different USB port?
There is not much more I can do to help, perhaps someone else has an idea?

I tried different USB ports (CM4 IO board has only 2 usb 2.0 ports)
I also tried on Odroid XU4 installation and RaspberryPI 3B board installation. All the same results.

However,
with Debian Jessie 3.xx kernel and Stretch 4.1x kernel AND mpd0.19~0.20
I was able to play DSD direct ( I just edited the mpd.conf configuration file to play DSD direct) I can also play DSD direct from Windows+Foobar2000
My guess is, it’s either armbian kernel or mpd we are using in Volumio…
I will try things and I will post if I succeed.
Most people says it’s no biggy, I think so too
However it sometimes itches to see that it is playing DoP

Thanks anyway!!!

1 Like

Just to stop this becoming fake news :wink:
I don’t know where your guess is based on. It’s wrong. Raspberry foundation kernel for the PI, vendor kernel (Asus) for Tinkerboard and kernel.org for x86.

Sorry about the wrong mentioning
What I was trying to say is
It is either the kernel or mpd that is causing my problem
My guess is based on the fact that my other mini computer installation with stock debian+ mpd 0.19 or 0.20 etc, I can play DSD direct. You can see from the picture of the DAC display showing DSD64
I never intended to create fake news. I just do not know too much about the kernels other than x86 and amd64…

Hello

Could you please add Topping E50 for native DSD playing ?
I guess this DAC will be quite successful in the next few months.

Topping E50 at usb-0000:00:14.0-3, 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, 705600, 7 68000
Data packet interval: 125 us
Bits: 32
Channel map: FL FR
Interface 1
Altset 2
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 7 68000
Data packet interval: 125 us
Bits: 24
Channel map: FL FR
Interface 1
Altset 3
Format: SPECIAL DSD_U32_BE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 7 68000
Data packet interval: 125 us
Bits: 32
DSD raw: DOP=0, bitrev=0
Channel map: FL FR

Sorry, for USB Audio there is not much we can do, your post shows that it is capable of DSD native.
See this repy
It depends which Volumio version (PI, Tinker, X86 etc.) you connect to.

Thanks for the fast feedback !
I’m running Volumio 3, last version, on an old intel Nuc. (gave up on raspi 3 as it was too slow with my big 3To library, and crashes when trying to play all random).
Still the E50 plays DSD as pcm, i’ll check the thread you pointed, thanks !

I don’t think this is x86 platform related, it has support for all currently known DSD capable DACs and from your first post, the Topping should be one of them. No idea why your’s doesn’t work. Did you try DoP?

Switching to DoP did the trick, the E50 shows DSD and freq while playing DSD. I initially thought “DSD Direct” meant “native dsd”. Thanks !

edit : actually it will only play until DSD128.
DSD256 and 512, while the freq being properly displayed on the dac, will only output silence.

Yes, i have seen this before. The thought that with some DACs the setting appears to be reversed, is insane until proven. I’ll discuss that with our devs.

1 Like

Same for e30

Well, perhaps someone should ask Topping, This is strange. For me, not a Volumio issue, we have plenty of configurations with DSD capable devices and Volumio working fine (I have 3 myself) which switch fine to and fro between dsd and dop.
Not saying it can’t be, but this is something for the alsa experienced devs to answer @timothyjward @mervinio @volumio ??

I went into more listenings, focusing on playing only DSD files, and it goes better, DSD above DSD64 plays without problems. It seems the issue is when i play my library randomly with a mix of various bitrate and freq FLAC files and DSD files. It looks like sometimes the DAC has issues switching from PCM to DSD and vice versa. But no problems when playing FLAC files only or DSD files only whatever the bitrate/freq is.
That’s with the DoP option selected. If i go to DSD direct is converts it as PCM and sometimes produces only silence.

Maybe adding something like a 1s pause inbetween files so the dac has more time to switch properly would help ? is there such a delay option in Volumio or mpd ?

Hi Volumio team, i would like ti add mi dac to this list but, i dont have a clue about how to get the info that you need, i m very noob in this. I have a matrix mini i pro 2. Greetings and thanks