Return to

How to pass audio from one VM to another?

If I pass through an audio card to a Linux virtual machine (first guest), how can I play audio from another virtual machine (second guest) on the first. I want the host to have as minimal amount of software installed as possible to keep host simple for maintaining.

Traditionally, over network/ip using jack. There’s also this more modern pipewire thing, from the docs, this makes a server pipewire-pulse -a tcp:4713.

Thanks for the reply. I did google this for a bit before but you got me on the right path. Just some info for anyone, I currently use “scream”. I am using the IVSHMEM driver mechanism.

Scream is a virtual device driver for Windows that provides a discrete sound device. Audio played through this device is published on your local network as a PCM multicast stream.

Receivers on the network can pick up the stream and play it through their own audio outputs. Receivers are available for Unix/Linux (interfacing with PulseAudio or ALSA) and for Windows.

For the special scenario of a Windows guest on a QEMU host, @martinellimarco has contributed support for transferring audio via the IVSHMEM driver mechanism, similar to the GPU pass-through software “Looking Glass”

Scream is alot like Pipewire I think.