• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Anyone using Raspberry Pi with DX3 Pro?

yue

Active Member
Joined
Jul 21, 2018
Messages
275
Likes
294
Does anyone use DX3 with Raspberry Pi (for instance, MPD, Rune or Volumino)? If you do, could you please check if you can play this DSD512 file smoothly?

I know DSD512 is unrealistic for listening but since Topping support that it's worthwhile to check.

On my computers things are working fine. But on Raspberry Pi seems I can hear a lot of pops, probably due to USB noise.
I want to know if I'm the only person who experience this problem.

I'm using Raspberry Pi 3 Model B.
CPU utilization is always below 15% so I know I'm not throttling the CPU.
I benchmarked my SD card average reading speed of the same file is around 20MB/s so I know 50Mb/s / 8 = 7 MB/s is far from the top speed.

Redbook (44.1khz, 16bit) also experience the issue every few minutes but it's much more pervasive when playing DSD512.

I talked about this issue in this post but I'd like to see if it's my own problem or DAC's problem.
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
Does anyone use DX3 with Raspberry Pi (for instance, MPD, Rune or Volumino)? If you do, could you please check if you can play this DSD512 file smoothly?

I know DSD512 is unrealistic for listening but since Topping support that it's worthwhile to check.

On my computers things are working fine. But on Raspberry Pi seems I can hear a lot of pops, probably due to USB noise.
I want to know if I'm the only person who experience this problem.

I'm using Raspberry Pi 3 Model B.
CPU utilization is always below 15% so I know I'm not throttling the CPU.
I benchmarked my SD card average reading speed of the same file is around 20MB/s so I know 50Mb/s / 8 = 7 MB/s is far from the top speed.

Redbook (44.1khz, 16bit) also experience the issue every few minutes but it's much more pervasive when playing DSD512.

I talked about this issue in this post but I'd like to see if it's my own problem or DAC's problem.

Pops you are hearing are related to the architecture of RPI and has nothing to do with the DAC. USB ports, not even with RPI 3 B+, can't handle the bandwidth necessary to transport DSD512 hence popping sounds occur. If you want to use RPI with Volumio I suggest you buy RPI SPDIF board and connect your DAC with it or use Odroid platform which works fine via USB.
 
OP
Y

yue

Active Member
Joined
Jul 21, 2018
Messages
275
Likes
294
Pops you are hearing are related to the architecture of RPI and has nothing to do with the DAC. USB ports, not even with RPI 3 B+, can't handle the bandwidth necessary to transport DSD512 hence popping sounds occur. If you want to use RPI with Volumio I suggest you buy RPI SPDIF board and connect your DAC with it or use Odroid platform which works fine via USB.
Rpi usb ports certainly handle data speed of dsd512. The USB port file transfer speed is greater than 70MB/s with my SSD drive. Dsd 512 is only ten percent of that.

On the other hand Spdif only handles dsd64 maximum by design.

Even red book has this issue. My other Dacs work just fine with raspberry pi.
 
Last edited:
OP
Y

yue

Active Member
Joined
Jul 21, 2018
Messages
275
Likes
294
It's not about USB port speed as such, it's about networking (Ethernet/WiFi) sharing the USB bus hence the interrupts that are manifested as pops.

Google it, it is a frequent and well known issue with RPI and USB DACs.
https://www.google.com/search?q=rpi...rome..69i57.6784j0j8&sourceid=chrome&ie=UTF-8

I disabled wifi and ethernet already and the problem remains. Then I realized that it's a Linux kernel issue with USB version 2.

I used my RasPi with my ODAC-RevB and usb dac from AudioEngine A2+ before and never experience one single instance of such issue so I assume DX3 Pro should be fine for at least Redbook media (44.1/16). I was wrong.

ODAC and AudioEngine A2+ are both USB 1.1 devices and they use full speed.

DX3 Pro is a USB 2.0 device and uses high speed so a different usb driver stack.

Probably for now I would just abandon DSD playback and downgrade DX3 to USB 1.1 by using backward compatible mode.

Thanks @Krunok !
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
I disabled wifi and ethernet already and the problem remains. Then I realized that it's a Linux kernel issue with USB version 2.

I used my RasPi with my ODAC-RevB and usb dac from AudioEngine A2+ before and never experience one single instance of such issue so I assume DX3 Pro should be fine for at least Redbook media (44.1/16). I was wrong.

ODAC and AudioEngine A2+ are both USB 1.1 devices and they use full speed.

DX3 Pro is a USB 2.0 device and uses high speed so a different usb driver stack.

Probably for now I would just abandon DSD playback and downgrade DX3 to USB 1.1 by using backward compatible mode.

Thanks @Krunok !

NP. :)

I was using RPI 3 B+ with Volumio and Topping D10 and it played all files from NAS fine but only via WiFi. With Ethernet I was experiencing popping. I also got popping when I start to use BruteFIR convolution engine under Volumio. As it was important for me to have room EQ I stopped using RPI and switched to fanless miniPC and now everything works fine. I was told by Volumio developer that Odroid is much better Volumio platform than RPI but fanless miniPC is preferable.
 

finneybear

Active Member
Joined
Jan 22, 2019
Messages
220
Likes
110
Does anyone use DX3 with Raspberry Pi (for instance, MPD, Rune or Volumino)? If you do, could you please check if you can play this DSD512 file smoothly?

I know DSD512 is unrealistic for listening but since Topping support that it's worthwhile to check.

On my computers things are working fine. But on Raspberry Pi seems I can hear a lot of pops, probably due to USB noise.
I want to know if I'm the only person who experience this problem.

I'm using Raspberry Pi 3 Model B.
CPU utilization is always below 15% so I know I'm not throttling the CPU.
I benchmarked my SD card average reading speed of the same file is around 20MB/s so I know 50Mb/s / 8 = 7 MB/s is far from the top speed.

Redbook (44.1khz, 16bit) also experience the issue every few minutes but it's much more pervasive when playing DSD512.

I talked about this issue in this post but I'd like to see if it's my own problem or DAC's problem.

15% CPU usage is awfully low for DSD512 upsampling. Is the digital filtering done right? What playback tool did you use?

Try to create a proper DSD512 offline then play it back, at least you will know the DSD stream itself is OK.

For your reference, on an i7-8700K machine, overclocked to 5GHz, 12 threads, the toughest filter, 44.1/16->DSD512 will use about 50% of the CPUs.
 
OP
Y

yue

Active Member
Joined
Jul 21, 2018
Messages
275
Likes
294
15% CPU usage is awfully low for DSD512 upsampling. Is the digital filtering done right? What playback tool did you use?

Try to create a proper DSD512 offline then play it back, at least you will know the DSD stream itself is OK.

For your reference, on an i7-8700K machine, overclocked to 5GHz, 12 threads, the toughest filter, 44.1/16->DSD512 will use about 50% of the CPUs.
The DSD512 file is downloaded from the above link to SD card and I play it natively without upsampling.
 

finneybear

Active Member
Joined
Jan 22, 2019
Messages
220
Likes
110
The DSD512 file is downloaded from the above link to SD card and I play it natively without upsampling.

Where did you get the XMOS driver? Looks like a driver problem to me.
 
OP
Y

yue

Active Member
Joined
Jul 21, 2018
Messages
275
Likes
294
Where did you get the XMOS driver? Looks like a driver problem to me.
Linux does not need a driver. I commit a patch last year to the official Linux kernel adds support to all topping dacs. you do not seems to be familiar with the issue, by the way.
 

finneybear

Active Member
Joined
Jan 22, 2019
Messages
220
Likes
110
Linux does not need a driver. I commit a patch last year to the official Linux kernel adds support to all topping dacs. you do not seems to be familiar with the issue, by the way.

Linux uses kernel loadable device drivers. Usually there are preloaded with the release you get. You need to check out the release version. That's what I meant.

I have not seen people feed U208 with DSD512 on rapspberry yet.
 

Guermantes

Senior Member
Joined
Feb 19, 2018
Messages
484
Likes
561
Location
Brisbane, Australia
Hi @yue, I'm sure you would know more about the Linux kernal issues than I do, but have you tried Moode? It has a "UAC2 fix" option that supposedly provides a workaround.
 
OP
Y

yue

Active Member
Joined
Jul 21, 2018
Messages
275
Likes
294
The default alsa usb-audio driver can handle DSD512 as long as it can recognize the device. For topping devices such support was added by me to mainstream last summer. Nothing from xmos is needed. Actually on windows you don’t need a xmos driver either. Asio4all is a generic solution.

The problem is not in the audio driver, but in the general Linux usb2.0 implementation. On Linux as long as you have a usb2.0 dac even red book will have pop noise. Something is broken and core developers are aware of it for a long time.
 

finneybear

Active Member
Joined
Jan 22, 2019
Messages
220
Likes
110
The default alsa usb-audio driver can handle DSD512 as long as it can recognize the device. For topping devices such support was added by me to mainstream last summer. Nothing from xmos is needed. Actually on windows you don’t need a xmos driver either. Asio4all is a generic solution.

The problem is not in the audio driver, but in the general Linux usb2.0 implementation. On Linux as long as you have a usb2.0 dac even red book will have pop noise. Something is broken and core developers are aware of it for a long time.

Actually ASIO is not quite as what you have believed. Dont want to go to the details anyway. In general, you need a patch for U208 along with USB fix. I am not aware of such a patch available yet. I have several boxes running SUSE Leap 15.0, not raspberry though.
 
OP
Y

yue

Active Member
Joined
Jul 21, 2018
Messages
275
Likes
294
Hi @yue, I'm sure you would know more about the Linux kernal issues than I do, but have you tried Moode? It has a "UAC2 fix" option that supposedly provides a workaround.
The UAC2 fix is a hack that set the fiq_fsm_mask bits.
but seems that it doesn't work well ---
See : https://volumio.org/forum/usb-spdif-not-working-moode-has-fix-how-t6188.html
Some people report Moode also has issue with his SMSL DAC.

I wasn't aware of this issue before since I had always been using USB 1.0 audio devices (such as ODAC) with RPi in the past.
I tested all USB2.0 devices on a Linux workstation and I didn't see the issue happening there either.
Now I try to use USB2.0 with a RPi and problem occurs:)
 
Last edited:

finneybear

Active Member
Joined
Jan 22, 2019
Messages
220
Likes
110
The UAC2 fix is a hack that set the fiq_fsm_mask bits.
but seems that it doesn't work well ---
See : https://volumio.org/forum/usb-spdif-not-working-moode-has-fix-how-t6188.html
Some people report Moode also has issue with his SMSL DAC.

I wasn't aware of this issue before since I had always been using USB 1.0 audio devices (such as ODAC) with RPi in the past.
I tested all USB2.0 devices on a Linux workstation and I didn't see the issue happening there either.
Now I try to use USB2.0 with a RPi and problem occurs:)

Yep. I do not use RPI so not sure about the changes there. Definitely you have to try this out to see.
 

Guermantes

Senior Member
Joined
Feb 19, 2018
Messages
484
Likes
561
Location
Brisbane, Australia
I've used the Topping D10 via USB on RPi without any issues. This is based on an XMOS U208, so should be USB 2.0. Perhaps this is only a problem with the higher bitrates for 384k/DSD512?
 
OP
Y

yue

Active Member
Joined
Jul 21, 2018
Messages
275
Likes
294
I've used the Topping D10 via USB on RPi without any issues. This is based on an XMOS U208, so should be USB 2.0. Perhaps this is only a problem with the higher bitrates for 384k/DSD512?
At higher bitrates there're more pops (DSD 512 pops all the time. DSD256 perhaps pops every minute). you could get some testing DSD256 music here and listen closely.
I also tested quite a few combinations (such as using external hard drive, plug in the DAC in different ports, etc), and some mitigate the issue a lot, and is good enough for casual listening. but unfortunately none resolve it completely.
 

Sangram

Member
Joined
Dec 11, 2018
Messages
49
Likes
29
I Use SK10 with Daphile 19.01-x86-rt and DSD is smooth, so it's not a kernel problem. Can you send a link for the DSD512 file you're using? The Norwegian site only has up to DSD256. Daphile uses 4.19.16 and 4.19.16RT as of latest version, the PC hooked up to it is a lowly J1800 so I cannot upsample above DSD128 but playback even for 512 should be fine.

The problem may be linked to MPD, not ALSA or the kernel. I've been using non-MPD based playback quite a bit and cannot replicate these issues. On a weak x86 machine (Athlon 200GE, 8GB RAM) I can do DSD512 upsampling on the SK10 and it plays with no problem at all. Matter of fact I've been using only USB DACs (Benchmark DAC2, Gustard X-20U, Topping DX3 Pro, Dragonfly 1.1 and the SK10. Not experienced popping except when there was something wrong I did or the network timed out in the middle of radio playback, sample rate changes etc. I don't remember it from the time I was using Rune Audio hooked up to the Benchmark either.

Nothing spontaneous, but I'll pay closer attention to the SK10 specifically later. It sits some way away and usually is just playing internet radio in the evenings. Maybe bring it in the main room and have a longer session, something I've been planning on doing with both the SK10 and DX3. There is an 8th generation i3 NUC in there that will easily upsample to DSD512. I will post back in few days.

Edit: I know I said SK10, but I also use the DX3 Pro with another Daphile setup with a very weak Atom - a n2800 - and it has zero popping on USB in PM or native DSD. Will try that for some DSD upsampling in a few days. I can clear the SK10 of any misdemeanours so it's probably not a generic kernel+USB issue.
 
Last edited:

MattG

Member
Joined
Nov 18, 2018
Messages
54
Likes
46
I wasn't aware of this issue before since I had always been using USB 1.0 audio devices (such as ODAC) with RPi in the past.
I tested all USB2.0 devices on a Linux workstation and I didn't see the issue happening there either.
Now I try to use USB2.0 with a RPi and problem occurs:)

I haven't had a chance yet to try your DSD512 file. But virtually all my music is FLAC-encoded redbook CD audio (44.1/16). The music lives on a file server. The RPI does an NFS mount to the file server, over wired Ethernet. I have zero pops with my DX3 Pro connected via USB. It appears to be USB 2.0 too:

Code:
# dmesg
(snip)
[46700.420325] usb 1-1.5: new high-speed USB device number 4 using dwc_otg
[46700.551262] usb 1-1.5: New USB device found, idVendor=152a, idProduct=8750
[46700.551278] usb 1-1.5: New USB device strings: Mfr=1, Product=3, SerialNumber=0
[46700.551287] usb 1-1.5: Product: DX3 Pro
[46700.551295] usb 1-1.5: Manufacturer: Topping
(snip)

# cat /sys/bus/usb/devices/1-1.5/version
 2.00

All playback is via MPD via ALSA. OS is DietPi.

I'll try your DSD512 file this weekend.
 
Top Bottom