Return to Level1Techs.com

Emulated audio setup

I’ve been using LG every day for a long time now and it’s a key part of my GPU-passthru Windows on Ubuntu workstation setup. For various reasons (lazy?) I’m still on LG-B2. Until now I’ve been using a passthru USB audio device because I had issues that I never pinned down but got the impression it was because I was using monitor speakers via the Intel IGP DisplayPort audio interface on the host and ALSA/PulseAudio wasn’t handling it right. This worked fine.
Now I’ve enabled the motherboard built-in audio controller and want to switch over to using that for all audio output. It works on the host and as a spice emulated audio device in virt-manager virtual machines but not in looking glass.
Is there some trick to setting up LG for audio I’m missing?
I don’t see anything on audio setup troublshooting mentioned in the install or FAQ docs. What am I missing?
I’m currently on ALSA/PulseAudio.

Looking-Glass does not handle audio at all. Audio in the guest is, as you rightfully indicated, emulated by QEMU. QEMU has multiple audio backends that allow you to map this emulated audio to targets in your host. the most commonly used backends are PulseAudio and JACK. Some folks use SCREAM to handle audio, but beware that using SCREAM with its IVSHMEM transport is problematic with LG. For more details see: https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF#Passing_VM_audio_to_host_via_PulseAudio

Thanks for responding.
As mentioned, other non-LG VMs spice audio are working but the LG VM is not when trying to use spice to the host audio multiplexer. Trying to figure out the difference - I suspect it might be the LG purespice implementation since this is the only real difference (?). Can you suggest any steps to take to debug? It all appears to be set up correctly, just no sound.
This is using ICH9 audio. When virt-manager starts the LG VM the relevant audio parameter is “-device ich9-intel-hda,id=sound0,bus=pcie.0,addr=0x1b”.
I don’t see anything interesting in the host logs.

There’s no debugging needed as this is not a bug. As I said previously, LG does not deal with audio. PureSpice was developed specifically to provide a lightweight spice implementation for intra-PC, low-latency keyboard/mouse events. As only one client can connect to the QEMU spice server, you will loose your ability to control keyboard/mouse if you choose to connect some other client instead of LG. Using spice for audio is also an inferior solution as it creates yet another layer in the audio path compared to emulated audio. The vast majority of users use the native QEMU audio device mapping I mentioned above.

Thanks for the clue. I wasn’t aware of the -audiodev QEMU emulated audio path alternative to passthru & spice options. As well as SCREAM.

Suggestion for the documentation: mention spice audio isnt supported / recommended

RTFM: https://looking-glass.io/docs/stable/faq/#audio