Topping D90 MQA - RoPieee

Hi @spockfish.

Thanks again for all your work on RoPieee.

I am hearing an issue with the Topping D90 MQA DAC when it switches formats from DSD (either native or DoP) to PCM during playback. There is a very short, but loud, crack/pop as the format switch takes place. Once switched the music plays normally.

I tested the DAC with Roon on a windows machine and the issue did not occur.

My workaround for now was to have Roon convert everything to PCM, no issues switching different PCM rates. (tested mix of 44.1 all way up to 352.8k PCM).

I did see that the D90 MQA uses XMOS XU216 usb chip (as opposed to XU208 in D90 model).

Any thoughts ?

Gear is:
Core: Ubuntu 20.04 LTS, 1.7 (Build 571)
Networking: ASUS AC-5300, WiFi endpoint, wired core
End Point: Pi4 (also tried Pi3 ) RoPieee 2.535, USB to Topping D90 MQA
End Point: Windows 10, Topping ASIO driver (v4.82), Roon 1.7 (Build 571), USB to Topping D90 MQA

The only thing I can imagine that you play with Roon’s ‘Resync Delay’.
That setting (you can find it in ‘device settings’) is especially for this effect.

Thanks Harry,

Forget to mention is original post, I did enable the resync delay as well (tried a few different delays 100ms to a full 2 seconds), did not seem to help.


I did some more investigation.

The issue does not happen if I have the D90 MQA connected by USB to Roon Remote running on either a Windows 10 or macOS machine. (and did not need to set any ‘Resync Delay’).

Anything I can try to help troubleshoot RoPieee ?


Gear is:
Core: Ubuntu 20.04 LTS, Roon 1.7 (Build 571)
Networking: ASUS AC-5300, WiFi endpoint, wired core
End Point: Pi4 (also tried Pi3 ), WiFi, RoPieee 2.535, USB to Topping D90 MQA
End Point: Windows 10, WiFi, Topping ASIO driver (v4.82), Roon 1.7 (Build 571), USB to Topping D90 MQA
End Point: macOS (v10.15.5), WiFi, Roon 1.7 (Build 571), USB to Topping D90 MQA
Topping D90 MQA: Firmware v1.24

There’s nothing that I can do about this. This is up to the vendor where they need to look specifically in the USB (firmware) implementation.

The fact that the issue does not appear on Windows or MacOS doesn’t say that much as they drive the DAC differently then is being done on Linux.

Thanks for clarification.

I’ll follow up with Topping, if I hear anything back I’ll update this thread

1 Like

Hey @stubaggs not sure what’s going on, but after MacOS upgrade to Big Sur. I don’t have any song skipping, cracking, when changing format, on Mqa and 96khz tracks. It’s was really painful, now there is seamless gapless experience. Not sure that, that this is topping thing, rather transport. But considering how many setups, others can have, anything is possible. Also on Catalina I was using proxy client, now it’s no longer installed, worth to check maybe to.

You might check to see if Topping has any firmware updates. I see there’s one from July 1, 2020, specifically for the D90 MQA. V 1.24.

Thanks for the info @Artur_Andrzejak, I appreciate it.

Unfortunately I think the issue I am seeing is linux related.

I am running the Topping D90 MQA from Ropieee (pi4, wireless), core is linux, and the client (MacOS, iOS, Windows).

The problem does not happen if I have it connected directly to a windows or MacOS end point.

@Bill_Janssen, thanks I do have the latest (v1.24) installed.

I have a ticket in with Topping (since July), only report back is that they are investigating…

It is worth noting that the same issue happens with other linux players as well (e.g. MPD), so issue does appear to be related to the Topping D90 MQA firmware (as Harry suggests).

My workaround for now is to only use PCM and MQA (no DSD).

If anybody else is having the same issue, please put in a ticket with Topping !

I wonder if this is a Linux kernel issue (USB UAC2 driver)…have you tried VitOS, DietPi, etc?

Thanks, I thought that maybe too.

I tried a few RaspberryPi variants (raspbian, ropieee, volumio), and also regular Arch & Ubuntu on x86.

Same issue on all with the Topping D90 MQA.

Other DACs I have tried have no issue with linux (Burson Playmate and Ayre QB9), so seems to point back at the D90.

1 Like

Yes. The only way this can be resolved is when Topping take their responsibility and fix this.
And from experience: this isn’t rocket science, but it’s starts with the will to fix it for their customers.

1 Like

This happened with the Project S2 DAC and needed a new firmware update.

I think that it is an XMOS issue.

Quick update.

Topping has yet to provide any solution, so I would avoid the D90 MQA if you intend to use any linux based player.

Related question: Is anyone using a Topping D90 MQA with a Pro-Ject Stream Box S2 Ultra (which is Raspberry Pi based) ?

@spockfish @stubaggs I have the same issue with RoPieee and PecanPi HAT. The solution was to not use MQA Render option in Roon. The Decode only worked well and did not pop.

I don’t understand MQA and the PecanPi’s MQA support well enough to have an opinion if doing away with Rendering option is a compromise.

Subjectively, I can’t hear a difference between the pop prone Decoder + render option and the Decoder only.

Hi everyone,

I have a Intel NUC and running ROCK with the Topping D90MQA.

Every time I switch PCM to DSD and vice versa I get a loud crack.

AFAIK ROCK is linux based.

This loud crack is not healthy for my speakers I am sure of that.

Did anyone find a solution for this problem?


NUC ROCK USB=> Topping D90MQA (DAC mode) XLR=> Topping PRE90 XLR => Accuphase P500-L => B&W 802D3

You’re in the wrong place on this forum. This section is about RoPieee and not about ROCK.


This maybe so but the issue discussed is the clicking noise while switching between PCM and DSD with Topping D90MQA which is exactly what I am experiencing.
It is appsrent to me in this topic that thecissue is rather based in the Topping not the Ropieee nor Linux itself.

Hence, my question here.

I was not able to find a topic that would be strickly related to ROCK, Topping and Linux per se.

However, I thank you for your time to respond.

Please feel free to contribute to finding a solution, please

Experiment with resync delay setting, and DoP / native DSD setting.

@moderators could perhaps split the posts to a more appropriate category.