⛰ Native DSD support

Native DSD is another way of playing DSD material on your Snakeoil PC. Traditionally, DSD data is wrapped in PCM and sent to the DAC. This method is commonly known as ‘‘DSD over PCM’’ (DoP).

A newer method is to send the raw DSD data directly to your DAC. This is called native DSD, and is only supported by some DACs.

How To Enable Native DSD Kernel

Download the native kernel from this thread - Native DSD: linux-4.4.9-rt17, install the kernel and reboot your Snakeoil PC.

For MPD and Squeezelite, set your streaming mode to “Native (PCM or DSD)”, and away you go!

Supported Native DSD DACs

The following DACs will output native DSD, some requiree the custom native DSD kernel shown above. Please report back if you own any of the following unconfirmed DACs so we can keep this list up to date.

OPPO HA-1
undefined
OPPO Sonica
undefined
Playback Designs DAC
undefined
PS Audio NuWave DAC
undefined
xDuoo XD-05
undefined

What If Your Native DAC Is Not In The List?

There should *only be ONE applicable setting* for your DAC. Please check with your DAC manufacturer for the correct setting!

Snakeoil will not be responsible for any damage to your audio equipment if you use the wrong setting.

If you are using the custon native DSD kenel, a special panel called “Native DSD Format” will appear in the Snakeoil section (Activated Editions only). On a fresh setup, “No Native DSD” is the default configuration.

“No Native DSD” implies you are relying on the kernel to rely whether your DAC is a native DSD DAC or not (see table above).

DSD Format

If your DAC is not in the list above, but you know your DAC supports native DSD streaming, you can override the kernel behaviour by specifying one of the following DSD formats:

  1. DSD_U8

  2. DSD_U16_LE

  3. DSD_U32_LE

  4. DSD_U16_BE

  5. DSD_U32_LE

USB ID

Once a DSD format is selected, two more configuration options will appear. The first is USB ID, short for USB identification code. This is a unique identifier for your USB DAC.


If you do not know the ID, you can click on the magnifying glass and Snakeoil will detect the first USB DAC in your system. To prevent false positives, please ensure you connect ONLY the native USB DAC to your Snakeoil PC.

Altset Profile

Select the Altset profile for DSD output. Again please refer to your DAC manufacturer for the correct parameter.

Saving Your Native DSD Configuration

Scroll to the bottom of the page and click the “Save” button.

Your setting is now applied to your DAC.You can disconnect and re-connect the USB cable of your DAC to apply the new configuration. A correctly configured DSD player will bitstream the DSD file with the specified DSD format you specify above. Unless you swap your DAC frequently, this DSD configuration will be a set once and forget.

Things To Know About Dynamic Native DSD Configuration

Dynamic DSD Configuration:

  • only works from Snakeoil OS (Blind Testing) 1.1.4 and higher

  • only works with DSD kernel dated 14 Apr 2019 (20190414) or later

  • only works with one DAC. If you have multiple native USB DACs, you have to adjust this every time you swap

  • is currently under beta testing so is only enabled in activated editions only

For DSD player to work properly:

  • You need to set the ALSA mixer volume to 100%

  • Incorrect settings may damage your audio equipment. Since native DSD requires the software ALSA mixer to be at 100%, this implies you’ll need a a pre-amplifier or integrated amplifier with a volume control. Please set your amplifier volume control to minimum, and slowly dial it up and check that the native DSD stream is decoded properly by your DAC.