RFE: Add support for QEMU's pipewire audio backend

Goal

Use QEMU's pipewire backend (-device pipewire) which was added to QEMU in 8.1

Technical details

sudo virsh -version 9.8.0 sudo qemu-kvm -version QEMU emulator version 8.1.2 (openSUSE Tumbleweed) Copyright (c) 2003-2023 Fabrice Bellard and the QEMU Project developers

Additional information

I have confirmed that support exists in QEMU after installing the appropriate backend package:

> qemu-kvm -audiodev help
Available audio drivers:
none
pipewire
spice

I attempted to add the appropriate parameters to the domain XML but they are not recognised by libvirt's XML schema:

sudo virsh edit Tumbleweed-Live-CD
error: XML document failed to validate against schema: Unable to validate doc against /usr/share/libvirt/schemas/domain.rng
Extra element devices in interleave
Element domain failed to validate content

Grepping the schema, the entire -audiodev parameter is missing, only the deprecated -audio parameters are supported - and no mention of the pipewire driver.

This seems strange as looking at my logs I can see that the -audiodev parameter is in use when starting the guest:

-audiodev '{"id":"audio1","driver":"spice"}' \

And I see it in tests here, and there are commits to use it directly... So I guess the schema is out of date and is converting commands to use up-to-date arguments?

Is there some way to use the new backend? Perhaps by means of qemu:override? Should the libvirt XML schema be updated to reflect the QEMU API mentioned in the above commit? I'm very new to libvirt so please forgive any misunderstandings on my part.