Fixing QEMU poor USB audio quality

zehJVarQuick note here, in case somebody else runs into this problem.

I’m currently using Windows 10 in a virtual machine (this problem also happened on 7) using QEMU on GNU/Linux, with PCI and USB passthrough. Passing through USB devices works fine, but when a USB audio device (like a headset) is passed through, the audio sounds like shit, with popping and crackling. I’d even get a VHS “wow”-like effect when playing League. Until the upgrade to Windows 10, I’d get around this by letting QEMU emulate an audio device, passing to PulseAudio (which was really nice and I’d rather go back to doing), but this broke with the upgrade. The only way to get audio again was to passthrough my USB headset. But that sounded like shit.

After some Googling, somebody suggested upping the buffer for the audio device, so I went inside the properties for the headset. Nothing about a buffer, but I did find an option to set the sample rate in the Advanced tab. Setting the sample rate to 16 bit, 48000 Hz (DVD Quality) fixed the problem. If this does not work for you, you may also want to install the manufacturer’s drivers for your audio device instead of using the generic Microsoft USB audio drivers.

Another solution that worked for others was to use PCI passthrough to introduce a USB controller (and dedicate it to the VM), perhaps even one on your motherboard if it has more than one. I didn’t test this because I’m all out of PCI slots.

3 comments on “Fixing QEMU poor USB audio quality

Leave a Reply

Your email address will not be published. Required fields are marked *