USB Devices: Why Different Volume Capabilities?

Hi. I have two Pi’s, running RoPieeeXL 2.566. One is a Pi4B --> USB --> Dragonfly Red and the other is a Pi3B --> USB --> Schiit Modi Multibit. I have a few questions, for anyone willing to help me understand:

  1. With the Pi4B/Dragonfly I can select device volume from setup, and the volume slider is enabled within Roon. With the Pi3B/Schiit I can select device volume from setup, but it is fixed, and the volume slider is not available within Roon. I can use DSP volume for the Pi3B/Schiit setup, but wondered why the difference with device volume being available with slider in one, and not the other?

  2. Why does the Device Volume with the Dragonfly appear as negative values (-80 min to 0 max) while the DSP volume on the other device appears as positive values (0 min to 100 max)?

  3. Does it matter which USB ports I use to connect devices? Pi3B? Pi4B?

Thank you in advance!

I see the same thing with my Dragonfly Cobalt and Meridian Prime Headphone Amplifier. I guess it’s because the only way to adjust volume with the Dragonfly is with Roon. On the other hand, my Meridian Prime has a volume control knob on the front.

I don’t know why the scales are different and I don’t think it matters which USB ports you use.

It’s different because the devices have different capabilities.

If volume is fixed then there is no volume slider.

The difference in the scale is basically the difference between the volume controls: the one is hardware based (in this case in dB), the other one uses software volume control (DSP) via Roon which uses a scale from 0 to 100.

Hopes this clarifies it a bit.

Thanks Harry. The thing is that I am not selecting Fixed Volume, I am selecting Device Volume, yet the slider is not present, and it is displaying Fixed Volume. Regarding their capabilities … when using these same devices with HifiberryOS, they are all able to be used with Device Volume. Could it be an ALSA driver support thing? I ask because the gain from my Dragonfly is much cleaner using device volume than the DSP-only devices.

Also, while we’re here, is it odd that my Hifiberry Digi+ HAT, connected to a Benchmark Dac+ via Coax, which is also running on my Ropieeee/Pi4B box would not allow me to select Device Volume?

Because a Digi+ has no volume control, it outputs digital data only.

Hi @waka_jawaka,

Wrt to the driver: I’m running a very up-to-date kernel so I don’t think it could be that.
Can you send me feedback?

Furthermore, what happens is that the connected devices are being recognized by Roon which then acts accordingly (so for example, with by Chord Hugo2 I can choose between ‘fixed’, ‘DSP’ and ‘device’.


Hi Harry. Thanks. I have tested things, and my Schiit Modi works differently on HifiBerryOS than with RoPieee via Digi+. With HifiberryOS —> Digi+—> Modi3 I get Device Volume control, but with Ropieee —> Digi+ —> Modi3 I only have DSP or Fixed volume option. Thoughts?

I don’t understand why on HifiberryOS it has device volume control.

Device volume control (in Roon) means hardware volume control, something the Digi(+) does not has because this is just digital out (SPDIF or COAX). So either the volume is fixed (bitperfect) or you can use DSP, which is software volume control.

The weird thing is also that it uses the same driver (assuming that Hifiberry upstreams their stuff properly).

Is their a difference in the audio setting as how the device is being identified?

Hi Harry. Below are screenshots comparing the two Digi+ zones. The “Cellar” zone is the Ropieee box, with Device Volume limited to fixed (no slider). The “Kitchen” zone is the HifiberryOS box, with the Device Volume offering the volume slider.

Pi4B / Ropieee / Digi+ HAT
Device Volume w/ NO Volume Slider Control

Pi3B / HifiberryOS / Digi+ HAT
Device Volume WITH Volume Slider Control

Hope this helps!

Hi @waka_jawaka,

I’ve did some digging in the code from HifiberryOS.
And it’s now clear to me how this difference can be explained…

HifiberryOS does not use the free RAAT endpoint software. There solution uses Roon’s SDK, which gives them more control over the devices, like configuring mixer stuff.

This is something that can’t be done with the free version used by RoPieee.

So why can’t I use their SDK? Because RoPieee supports multiple vendors (HAT’s), while the HifiberryOS only takes care of Hifiberry devices.

Hopes this explains a little bit the situation.


Thanks harry. Out of curiousity, who puts out the free sdk? And why won’t roon let you use their sdk? How much is the license? Seems like a no-brainer to release it, free, to any project which helps grow their subscriber base.

Be very careful, lest you blow your eardrums out. If I use DSP volume, my Dragonfly Cobalt is marginally loud enough with Sony WH-1000Xm3 headphones. Also, with DSP volume, you don’t get the nice purple lossless light.

If I use device volume with the Dragonfly, I set the maximum comfort and safety volume limit to 25 which is plenty loud. However, using the RPi4 screen volume control, I have had it jump to WAY LOUD and almost blow my ears out. Something is dangerously wrong.

Just using the screen to turn the volume down can make it jump to full volume. Take you headphones off before touching the volume button.

1 Like

Hi @Jonathan,

That’s not how it works. The SDK is from Roon for manufacturers who want Roon Ready certification. It has more integration points (you need to build the software for yourself), but that also requires configuration per device.

So to be clear: I don’t want the SDK for RoPieee :slight_smile: It would mean a lot of work that doesn’t bring that much compared to RoonBridge.

(And I do have access to it because I also do commercial integrations.)

And back to the Digi+… it’s still weird they expose a hardware mixer :wink:

Regards Harry

Understood. Thank you for explaining!

I put my Dragonfly Cobalt on DSP volume after nearly blowing my ear drums out a few times. Just touching the down volume button on the Pi screen or laptop will momentarily send it to FULL LOUD before it starts going down. This happens with the Pi only.

It’s all Linux and the Cobalt. It’s been flagged to Audioquest as I put in a ticket about a year ago nearly now. They have done diddly squat about it as firmware is still the same as when it launched. I gave up using mine when I got the RME. Got three Dragonflies now all unused. Black, red and cobalt.

1 Like

Thanks for explaining that. It’s really a dangerous situation.

That weird, because I haven’t had any of the issues you guys described. That said, I’m going to be receiving my Topping E30 today, and will likely replace my Dragonfly with that. Hoping to run 3 x E30’s off the same Pi4B. We’ll see what happens. Should be smooth sailing, besides maybe needing a fan, which can get noisy.

Do you have it set on device volume?

Yes, I do have it set to device volume.