• 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!

DACs' compatibility with Linux

Mark Dirac

Member
Joined
Apr 6, 2018
Messages
29
Likes
18
I derailed a different thread (here: S.M.S.L SU-9 ) by kicking off a discussion about the compatibility of DACs with Linux, and thought it appropriate to respond in a new thread.

I guess the main point is that some DACs seem not to be compatible with various versions of Linux, under various circumstances. Many users are driving their DACs from Linux nowadays, either knowingly (eg. RPi) or unknowingly (eg. "Stream Box S2 Ultra" by Pro-Ject and even some swanky expensive streamers). Which means that it becomes something of a lottery when buying a new DAC. Reviewers never seem to review the Linux compatibility of DACs' USB interfaces which they review. Indeed, given the variability of the issue, it would be difficult for them to do so. I get the impression there are several distinct causes of the incompatibility, some of which get patched, and some of which do not.

Anyway, @SJ777 and @somebodyelse kindly asked for more details, which are:

With my new RPi-based "USBridge Sig" by Allo (RPi 3B+ 1GB RAM) I am hearing clicks in the music. Clicks are more frequent (every minute or so) at 192kHz, less so (every few minutes at 96kHz), and rare at 48kHz.

OS is moOde v. 6.4.0 2019-11-24; Linux kernel is 4.19.83-v7+ , DACs are "Pre Box S2 Digital" by Pro-ject and "MDAC" by Audiolab. Broadband is 70Mbps, connected by ethernet, playing from Qobuz and USB flash drive. I have tried the various moOde config options - no joy.

Allo have provided a workaround to the issue. The workaround is to revert to an old version of moOde, namely 5.3.1 2019-06-12 with Linux kernel 4.14.92-v7+ from June 2019.

I have asked in a thread about Pro-Ject's "Pre Box S2 Digital" and no one reports problems with Linux. Which just goes to show, I guess, the variability of the issue. Allo report that there are particular problems with Topping D90.
 
Last edited:
OP
M

Mark Dirac

Member
Joined
Apr 6, 2018
Messages
29
Likes
18
@somebodyelse suggested here that "For Pi <4 you may be running into the infamous and usually misattributed issue #2215 "

Thanks for that. Illuminating. In that thread it is recognised that there are several different symptoms and several different possible causes. And one poster even claims here that problems persist with RPi 4 (which has a completely redesigned USB architecture). And it appears that there is not much appetite for solving the problem(s) beyond a few particularly frustrated owners.

I am surprised that this issue with Linux* is not more reported and recognised, at least with mainstream DACs such as the Pro-Ject S2 Digital and D90.

*somebodyelse points out here that this may not always be a problem with Linux per se, but perhaps a problem with manufacturers' USB implementations or drivers.
 
OP
M

Mark Dirac

Member
Joined
Apr 6, 2018
Messages
29
Likes
18
SJ777 says "I do find it rather annoying though that Allo are selling products that use RPi3+ when there is the known issue"

Yes indeed. Particularly when the USBridge is pretty much sold by Allo explicitly as a solution to the RPi's known USB inadequacies.

Unfortunately, or not, inbetween the clicks and at 44.1kHz, the USBridge does make my DACs sound particularly fine. And so I hope to find a solution, rather than to have to return the product.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,683
Likes
2,963
It seems like you're suffering from #2215 which has nothing to do with the 'linux compatibility' of the DAC. Under certain fairly specific circumstances the Pi takes too long to respond to the DAC's request for more data, and the DAC runs out of samples to play before the next lot arrives, resulting in a glitch. This would happen even with a 'perfectly compatible' DAC. It may be slightly more likely to happen, or more audible on some DACs than others, but it's caused by the late delivery from the Pi in particular, not a problem with linux in general - use the same DAC on a linux PC or a Pi 4 and you wouldn't have a problem.

In case you think there's anything linux-specific about latency issues, if you do a search you'll find people trying to track down the cause of similar symptoms on Windows too. If they manage to track it down it's usually a driver for some other component that's the cause.

Certain software makes the Pi latency issues much more likely. BruteFIR reliably triggered it in my testing on Volumio and Raspbian, although pinning BruteFIR to run only on a single cpu core solved it. I think there's something else used by Volumio and Moode (and others?) that was mentioned as a trigger but I don't remember what. I don't think it's something used by piCorePlayer though - that has resisted my attempts to trigger the problem, so you could give it a try.
 

LTig

Master Contributor
Forum Donor
Joined
Feb 27, 2019
Messages
5,760
Likes
9,442
Location
Europe
I think DACs that are USB class compliant worked much longer on Linux than on Windows. On my Linux PC I have no problems with the RME ADI-2 PRO fs and an really old Edirol UA25 (which does not record on Windows-10, only playback works).
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,683
Likes
2,963
Yes - Linux, iOS and macOS have had native UAC1 and UAC2 support for years. Windows only got built-in support in a Windows 10 update - I've no idea why it took them so long. Linux benefited from manufacturers wanting easy macOS/iOS support - very few actually test with linux. The quirks come in where the different OS implementations have slightly different interpretations of the standard, handle parts of it more or less strictly, or the manufacturer has an additional layer with proprietary additions. If the manufacturer isn't interested in helping out with the details then someone has to work out what's going on before they can add the necessary bits to the linux kernel.
 

Katji

Major Contributor
Joined
Sep 26, 2017
Messages
2,990
Likes
2,273
Well, ok. I only came here to make sure it was not really a compatibility problem with Linux. iow, It is a problem with a USB device driver, or maybe some modified version of ALSA.


Yes - Linux, iOS and macOS have had native UAC1 and UAC2 support for years. Windows only got built-in support in a Windows 10 update - I've no idea why it took them so long.
I suppose it is a management issue or problem, because it is not a problem with resources. Applies to more than just USB or whatever device drivers too.
 
OP
M

Mark Dirac

Member
Joined
Apr 6, 2018
Messages
29
Likes
18
Good suggestion acbarn. I have been wondering about this. I have some questions - but for a new topic.

Thanks, Mark.
 

Sukie

Addicted to Fun and Learning
Forum Donor
Joined
Jul 29, 2020
Messages
928
Likes
1,467
Location
UK
I don't have much more to add. @somebodyelse always provides useful info on all matters RPi. Personally I'd go with the suggestion of buying an RPi4 and trying to return the USBridge.
 

SimonSB

Member
Joined
Dec 28, 2020
Messages
11
Likes
7
Location
at ~$
I have had no issues with DAC compatibility on linux; as LTig says, anything that is USB Class 2 compliant should work. For the best quality, you should try and play direct through ALSA as Pulseaudio has some additional mixing involved and usually resamples any audio played.

Source: My Topping E30 was plug and play under kernel 4.19 (debian)
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,683
Likes
2,963
anything that is USB Class 2 compliant should work.
Emphasis on "should" - it's not a guarantee, but it's true in most cases, particularly for stereo DACs as you'll usually find in HiFi. As things get more complicated and less common the change of things not working increases, especially for software controlled bits. You need to be a lot more selective when you get to multi-channel interfaces.
 

abdo123

Master Contributor
Forum Donor
Joined
Nov 15, 2020
Messages
7,425
Likes
7,941
Location
Brussels, Belgium
I think the issue here is that you’re using the USBridge Sig, not the DAC itself.

USB DACs are generally very well supported (Plug and Play) for all major music based distros, as it is generally XMOS chips.
 

xykreinov

Senior Member
Forum Donor
Joined
Nov 16, 2019
Messages
424
Likes
678
Though I don't have anything to add on you specific issue, I don't know what general lottery you're speaking of. I've found it very rare for DACs to be incompatible with Linux, even in the case of ones with a great many features which interact with Windows software, like miniDSP's products. Statistically, I'm pretty sure the amount of dedicated external "HiFi" DACs that are incompatible with Linux in any serious way would allot too quite a teeny percentage. I doubt it would go over a quarter.
 
Last edited:

bluefuzz

Major Contributor
Joined
Jan 17, 2020
Messages
1,043
Likes
1,774
OS is moOde v. 6.4.0 2019-11-24
Have you tried the recently released Moode 7.0? I've never experienced any audio glitches on either Moode or Volumio on an RPI 4. Volumio is dog slow and buggy but once it actually deigns to play something it is glitch free even running Brutefir. Dac is Topping E30 via USB.

playing from Qobuz and USB flash drive
My understanding is that the Qobuz MPD plugin is deprecated and unsupported on Moode (and elsewhere?) due to Qobuz changing (and actively obfuscating) the API ...
 

digititus

Active Member
Joined
Jul 17, 2018
Messages
203
Likes
315
I have never had any compatibility issues with the many linux systems I have used with audio over the years. Always been plug and play. Some DSD issues, but that is software rather than Kernel related.
 
Top Bottom