Native DSD I2S DAC for RPI

Does anyone know of an RPI I2S DAC HAT that supports DSD natively?

Is that even possible with an RPI at the moment? Or are there restrictions that have to be taken into account? What are these restrictions and where can I find the relevant information?

I know of a few RPI DAC HATs that support DSD natively according to their specs:
IAN CANADA DUAL MONO MKII DAC ES9038Q2M HAT Raspberry Pi / I2S & SPDIF / PCM DSD - Audiophonics
HIFI-DAC-PRO – InnoMaker English|USB TO CAN Analyzer|Raspberry Pi Solutions|Industrial Camera| (

But for me it is not clear what it takes to really play back DSD natively?

Do I need a proper Linux driver to enable DSD playback? Does the Linux kernel need to be extended to play DSD or to play higher sample rates? Does it need other boards like reclockers? Or a specific controller to ensure proper communication between RPI and DAC chip?

If anyone has any information or advice in the right direction, I would be very pleased and no, I do not want to use an external USB DAC. This should only be about I2S RPI DACs.

This article might be worth looking at. It discusses the limitations of DSD support with I2S DACs.

1 Like

euh @SimonE Seems you forgot to put the link in :wink:

That doesn’t help much does it! Here it is

1 Like

An extract from the link by @SimonE


Pretty much all HAT DACs are connected via I2S right to the SOC (CPU chip).

The I2S interface supports the PCM format only. That’s why DoP is a must to feed DSD audio data to a DSD capable I2S-HAT.

As mentioned before, DoP is treated like PCM and it’ll look like PCM, even if transferred over I2S. The DoP stream that’s been transferred over I2S, will than have to get converted to DSD after leaving I2S right inside the DAC chip itself. As an alternative a MCU (microcomputer) on the HAT could be fed with I2S and could run the DoP/DSD conversion and would further feed the native DSD data to a DSD capable DAC chip.

Conclusion: if you want native/direct DSD, the only viable option is a USB DAC

1 Like

There is however another way, but haven’t actual tested it.
using IAN Canada DoP decoder.

Still going for a USB DAC makes more sense.

it’s still DoP, not native DSD

Indeed i2C is still DoP. It only convert DoP to native DSD.

1 Like

Does anyone know what Holo Audio are doing with their Red that they can process DSD natively via i2s? I mean, they also use an RPI CM4 as streaming input.

And this is a quote on the kitsune site:

DSD Native Support notice: Red can support up to DSD512 and PCM768K by I2S. USB is limited by linux kernel and also support DSD512 and PCM768K right now we are working on a new kernel that should support DSD1024 and PCM1536K in future release. It actually does work very well on most setups now, it’s just being improved in future releases. Works well with RedOS, and also RopieeeXL.

Euh, you are mixing thing.

GPIO can’t do DSD, your partial copy is referring to i2c over HDMI.

they do over USB, with an XMOS connected to the USB interface of the CM4

I found this post:

He claims to have got DSD512 out of an RPI. I think he is using a re-clocker board from Ian Canada to get around the clock limitations of the RPI, which do not support higher sample rates.