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 :|

Reply via email to