On Thu, Mar 19, 2026 at 08:58:52AM +0100, Markus Armbruster wrote: > Sergei Heifetz <[email protected]> writes: > > > D-Bus display can be used even when QEMU is configured with > > `--disable-audio`. In that case, audio interface will not be available > > on `/org/qemu/Display1/Audio`. > > > > (The current handling of the situation when audio is enabled but > > no D-Bus-compatible audio backend is available is different and > > hasn’t been changed.) > > > > Signed-off-by: Sergei Heifetz <[email protected]> > > --- > > qapi/ui.json | 2 +- > > qemu-options.hx | 4 ++++ > > ui/dbus.c | 8 ++++++++ > > 3 files changed, 13 insertions(+), 1 deletion(-) > > > > diff --git a/qapi/ui.json b/qapi/ui.json > > index e3da77632a8..62eb05c6091 100644 > > --- a/qapi/ui.json > > +++ b/qapi/ui.json > > @@ -1385,7 +1385,7 @@ > > 'data' : { '*rendernode' : 'str', > > '*addr': 'str', > > '*p2p': 'bool', > > - '*audiodev': 'str' } } > > + '*audiodev': { 'type': 'str', 'if': 'CONFIG_AUDIO' } } } > > Is this a compatibility break? > > DisplayDBus is only used in DisplayOptions, which is only used as return > type of query-display-options in the QAPI schema. However, vl.c also > uses it to parse -display. > > Removing parameter @audiodev from -display is technically a > compatibility break. However, we're removing an optional paramater that > would always be rejected when present: it has no valid value, because > there are no audiodevs. > > Removal from query-display-options is similar: it could not be present. > > Removal affects introspection, which could conceivably confuse client. > I don't expect such trouble here, because @audiodev always existed, i.e. > there's no real reason to look for it in introspection. > > I think we're okay. I'm cc'ing the libvirt list just in case.
Libvirt will almost always add -audiodev to all VMs, even if that ends up being '-audiodev none'. For VNC it will always set the audiodev property to resolve to this. Essentially, given our minimum QEMU version always supports -audiodev, libvirt assumes it is always available. > If it's not compiled in, then why document stuff that doesn't work? How > much of -audiodev still works then? -audiodev none? Anything else? IMHO, we need -audiodev none to always works, and other parts of the schema should continue to accept audiodev. With regards, Daniel -- |: https://berrange.com ~~ https://hachyderm.io/@berrange :| |: https://libvirt.org ~~ https://entangle-photo.org :| |: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
