DSD 512 over DoP capability not detected

Core Machine (Operating system/System info/Roon build number)
Ubuntu 18.10/i7-8700/1.6-416

Network Details (Including networking gear model/manufacturer and if on WiFi/Ethernet)
All gigabit ethernet

Audio Devices (Specify what device you’re using and its connection type - USB/HDMI/etc.)
I2S direct

Description Of Issue
I have a DAC directly connected via I2S to NanoPi Neo2 with updated I2S modules to support up to 1536000Hz output.

The setup can handle PCM 1536 and DSD 512 over DoP but Roon doesn’t detect that and shows only PCM 768 and DSD 256. I can trick it into using DSD 512 if I switch settings to Native DSD support first, change to DSD 512 and then switch back to DSD over DoP and I hear music playing and I can see that ALSA reports 1411200 as the rate.

Looking at a small program written to detect the supported frequencies from ALSA I can see everything reported correctly:

Device: hw (type: HW)
Access types: MMAP_INTERLEAVED RW_INTERLEAVED
Formats: S16_LE S24_LE S32_LE
Channels: 2
Sample rates: 8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 176400 192000 352800 384000 705600 768000 1411200 1536000
Interrupt interval: 20-2048000 us
Buffer size: 41-16384000 us

However, the RAAT output shows the following (notice missing 1536000 detection but it does correctly show the DSD512 encapsulated support):

06/30 20:40:10 Trace: [RAAT::es9038q2m] [ALSA] max pcm rate=1411200
06/30 20:40:10 Trace: [RAAT::es9038q2m] [output/alsa] max dsd rate=1024
06/30 20:40:10 Trace: [RAAT::es9038q2m] [output/alsa] enable_mqa_usb_device_support=1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [output/alsa] dsd_mode=dop
06/30 20:40:10 Trace: [RAAT::es9038q2m] [output/alsa] getting hardware info
06/30 20:40:10 Trace: [RAAT::es9038q2m] pcm card id es9038q2m
06/30 20:40:10 Trace: [RAAT::es9038q2m] pcm card name es9038q2m
06/30 20:40:10 Trace: [RAAT::es9038q2m] pcm card longname es9038q2m
06/30 20:40:10 Trace: [RAAT::es9038q2m] pcm card mixername 
06/30 20:40:10 Trace: [RAAT::es9038q2m] pcm card components 
06/30 20:40:10 Trace: [RAAT::es9038q2m] pcm card driver es9038q2m
06/30 20:40:10 Trace: [RAAT::es9038q2m] [output/alsa] probing formats
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] probing formats
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0]     device supports channels range 2-2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 44100/16/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 44100/24/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 44100/32/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 48000/16/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 48000/24/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 48000/32/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 88200/16/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 88200/24/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 88200/32/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 96000/16/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 96000/24/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 96000/32/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 176400/16/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 176400/24/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports DSD format 2822400/1/1 (Encapsulated)
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 176400/32/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 192000/16/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 192000/24/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 192000/32/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 352800/16/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 352800/24/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports DSD format 5644800/1/1 (Encapsulated)
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 352800/32/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 384000/16/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 384000/24/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 384000/32/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 705600/16/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 705600/24/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports DSD format 11289600/1/1 (Encapsulated)
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 705600/32/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 768000/16/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 768000/24/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 768000/32/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 1411200/16/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 1411200/24/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports DSD format 22579200/1/1 (Encapsulated)
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 1411200/32/1
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 44100/16/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 44100/24/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 44100/32/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 48000/16/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 48000/24/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 48000/32/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 88200/16/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 88200/24/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 88200/32/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 96000/16/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 96000/24/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 96000/32/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 176400/16/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 176400/24/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports DSD format 2822400/1/2 (Encapsulated)
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 176400/32/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 192000/16/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 192000/24/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 192000/32/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 352800/16/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 352800/24/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports DSD format 5644800/1/2 (Encapsulated)
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 352800/32/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 384000/16/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 384000/24/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 384000/32/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 705600/16/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 705600/24/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports DSD format 11289600/1/2 (Encapsulated)
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 705600/32/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 768000/16/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 768000/24/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 768000/32/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 1411200/16/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 1411200/24/2
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports DSD format 22579200/1/2 (Encapsulated)
06/30 20:40:10 Trace: [RAAT::es9038q2m] [alsa] [hw:CARD=es9038q2m,DEV=0] supports PCM format 1411200/32/2

Any chance it’s a UI bug and the drop down doesn’t have DSD 512 as option when DoP is selected?

Thanks!

Looks like Roon max out DSD512 (Native) or DSD256 (DoP). As far possible, Roon supports up to 768kHz which means DSD512 (DoP) is not possible for now.

It’s normal. You have max DSD 11,2MHz aka 256 via DoP. No more in all soft/h-ware configurations. If you want smth more, you have to native (22,4MHz / DSD256 or even DSD1024).

Hello @Vick,

At this time Roon supports a maximum of PCM 768kHz with a limit of DSD256 when using DoP. I have filled a feature request ticket with the development team to explore increasing the limit in the future. When I have heard back from the development team, I will be sure to share.

-John

Ok, thanks!
Just to make it clear, DSD512 over DoP actually works in Roon, I just need to trick it by selecting native DSD512 first and then switch to DoP method without touching the rates and then music plays just fine. So it’s just a UI limitation.

Hello @Vick,

Thanks for the extra info, I’ve appended it to the ticket.

-John

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.