[wdmaudiodev] Alternatives to Windows USB AC2 support

  • From: Børge Strand-Bergesen <borge.strand@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Sat, 22 Mar 2014 12:05:48 +0100

Hi guys,

while we're waiting and hoping for native support for USB Audio Class
2 in Microsoft OSes, I hope the group can consider and comment on a
few possible ways ahead. Below are some suggestions. But please don't
turn this into a discussion of whether or not UAC2 support is needed.
This is about the HOW.

My background is unfortunately not from the driver programming side of
things. My experience is in designing the audio hardware and firmware,
and in knowing fairly well what the early adopter and high-end user
segments actually want. I can offer specifications and advanced
testing work any time.

I sell the DAC at www.henryaudio.com. The neat thing with it is that
all source code is open, and it supports both UAC1 and UAC2. It's
trivial to use it for driver debugging with breakpoints, UART terminal
I/O etc. I'll happily lend out this hardware to those of you
interested in working towards generic UAC2 support on Widnows.

1) A closed-source virtual audio device which loops what it receives
as a Loudspeaker device back as a Microphone device. This virtual
driver would be based on DDK code and hence closed source. The virtual
audio device would have to support exclusive WASAPI, and the whole
signal chain must support an asynchronous USB DAC being the clock

Pair the virtual audio device with a user-mode program which listens
to the Microphone interface and forwards that to an ASIO driver. Such
a program can be made open source. A working open source ASIO driver
for UAC2 exists at https://github.com/nikkov/Win-Widget.

2) An open source draft for an audio USB driver exists here:
https://github.com/borgestrand/winuac2 It is a copy of the GPL
Zaudiodriverwin project. Being GPL means its hard to gain MS support
for it, BUT it also means the UAC2 code in Linux can be used as an

3) Microsoft, would you consider opening up the code for the existing
UAC1 driver? Having a working UAC1 starting point will make UAC2
programming easier.

4) Are there group members who would consider opening up their driver
code? Not good from a competitive standpoint you say? Consider the
marketing effect. This is what I would have done myself if I had the

Best regards,


WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx


Other related posts:

  • » [wdmaudiodev] Alternatives to Windows USB AC2 support - Børge Strand-Bergesen