What are your sound solutions when running a Windows VM and Linux host?

Hello everyone, I’m a longtime lurker here first time poster, so my apologies if the format on this post is wonky. I’m curious how you folks who are more experienced configure your sound with GPU passthrough and the like.

This is my first time getting this all set up. I use KVM/Qemu and Virt manager to handle everything, and originally i just left my sound up to the HDA(ICH9) software option. Everything worked okay, except for a half-second sound delay I noticed when testing some steam games. That would’ve drove me crazy so I tried some different options to solve that. So i tried switching software options.

HDA(ICH6) was detected in my Windows Vm, but i couldn’t hear anything, and Windows didn’t detect any sound card when using AC97, so I went back to ICH9 only to not hear anything at all!

So i ended up googling around finding this blog:

And after attempting those solutions with no success i opted to follow his advice at the bottom of buying a physical sound card and passing it through.

I picked up this:

I’ve passed it through via the USB device passthrough option in Virt manager (though i have also passed through a USB controller and that works too)

I have an audio cable connected to the device’s output, and into my Gigabyte Aorus x570’s line in port, with my headphones connected to the motherboards line out port. Yet I can’t hear any sound from my Windows VM. Windows detects it, and see’s the device name, and when i mess with the volume, I can see it outputting sound.

But am I missing something? or would it be easier to get a PCIE sound card instead?

I’m sorry for all the rambling but I felt i needed to provide as much context as I could think of. I can provide pictures, XML, specs, or anything else that could be relevant.

What do you guys do for sound?

I just pass through the motherboard integrated soundcard via pcie pass through, and Linux just nabs it again after I close the VM.

2 Likes

I pass through a USB controller with a Logitech USB headset adapter on it. But I plug headphones directly into that.

Have you plugged a headset directly in? I’d be curious if perhaps your line in isn’t passing through the audio to line out.

I just tried what you suggested, plugging in my headphones directly into the USB sound card, and I do get sound immediately! I guess the only drawback, is i don’t get any host sound. But maybe I can keep trying things to get that working too? :thinking:

In any case, it seems like your right that my line in isn’t passing through to line out like I’d imagine it would.

If I could get both working without any sound delays that’d be a dream come true.

I also just tried what you said robbot, passing through the motherboard’s sound card, and that also seems to work!

Thank you for the idea, at the very least now, I have 2 ways of hearing my guests audio. :smiley:

1 Like

There is scream: https://github.com/duncanthrax/scream

scream works fine

A patched and rebuilt Debian qemu package with Jack support enabled. I believe Fedora enables Jack out of the box, but not all distros do, so check your distro to be sure.

Jack allows for two-way low-latency audio to/from the VM, and I have PulseAudio running on top so I can route other devices like webcam microphone into the VM at will.

This is my solution.
You need machine 5.2 as minimum value.
Then windows will have two sound cards. 2.1 and 5.1