Bridged virtual machines using Airplay speakers by default

Problem:

  • I have a few Fedora 44 VMs which use NetworkManager’s bridge connection type.
    • This means the Libvirt QEMU VMs are exposed to the LAN just as any other physical system.
  • The issue is that GNOME/Plasma VM’s do not create a dummy output when they detect an Airplay/Wifi smart speaker.
    • Instead, they default to using the available Airplay sound outputs, which is a problem when I’m watching TV and suddenly a VM’s email client decides to take over and play a notification.

Question: How would I disable the Airplay functionality of pipewire?
I’ve already found Wireplumber’s documentation and it’s SPA-JSON format is verbose and confusing.

If you just sudo dnf remove pipewire-config-raop on the VM, that should achieve it without needing to fiddle with config files.

For Fedora Atomic users who don’t wish to override remove the pipewire-config-raop package.

Create a drop-in config for pipewire to disable the raop(airplay) module

sudo tee /etc/pipewire/pipewire.conf.d/disable-airplay.conf << EOF 
context.properties = { module.raop = false }
EOF