[PATCH 05/37] qemu-options.hx: clarify default audio backend selection

marcandre.lureau@redhat.com posted 37 patches 2 weeks, 4 days ago
Maintainers: Gerd Hoffmann <kraxel@redhat.com>, Christian Schoenebeck <qemu_oss@crudebyte.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>, Thomas Huth <huth@tuxfamily.org>, Alexandre Ratchov <alex@caoua.org>, Laurent Vivier <laurent@vivier.eu>, Manos Pitsidianakis <manos.pitsidianakis@linaro.org>, "Michael S. Tsirkin" <mst@redhat.com>, Alistair Francis <alistair@alistair23.me>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Peter Maydell <peter.maydell@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, "Daniel P. Berrangé" <berrange@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>
[PATCH 05/37] qemu-options.hx: clarify default audio backend selection
Posted by marcandre.lureau@redhat.com 2 weeks, 4 days ago
From: Marc-André Lureau <marcandre.lureau@redhat.com>

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 qemu-options.hx | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/qemu-options.hx b/qemu-options.hx
index 455b8be8903..732934a6fa8 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -896,11 +896,16 @@ DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev,
     QEMU_ARCH_ALL)
 SRST
 ``-audiodev [driver=]driver,id=id[,prop[=value][,...]]``
-    Adds a new audio backend driver identified by id. There are global
-    and driver specific properties. Some values can be set differently
-    for input and output, they're marked with ``in|out.``. You can set
-    the input's property with ``in.prop`` and the output's property with
-    ``out.prop``. For example:
+    Adds a new audio backend driver identified by id.
+
+    If no audio backend is specified, QEMU will attempt to select a
+    default one. The ``-display`` option may influence which backend is
+    selected.
+
+    There are global and driver specific properties. Some values can be
+    set differently for input and output, they're marked with ``in|out.``.
+    You can set the input's property with ``in.prop`` and the output's
+    property with ``out.prop``. For example:
 
     ::
 
@@ -2172,8 +2177,11 @@ DEF("display", HAS_ARG, QEMU_OPTION_display,
     , QEMU_ARCH_ALL)
 SRST
 ``-display type``
-    Select type of display to use. Use ``-display help`` to list the available
-    display types. Valid values for type are
+    Select type of display to use. This may also influence the default
+    audio backend selection.
+
+    Use ``-display help`` to list the available display types. Valid values
+    for type are
 
     ``spice-app[,gl=on|off]``
         Start QEMU as a Spice server and launch the default Spice client
-- 
2.52.0


Re: [PATCH 05/37] qemu-options.hx: clarify default audio backend selection
Posted by Mark Cave-Ayland 1 week ago
On 23/01/2026 07:49, marcandre.lureau@redhat.com wrote:

> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>   qemu-options.hx | 22 +++++++++++++++-------
>   1 file changed, 15 insertions(+), 7 deletions(-)
> 
> diff --git a/qemu-options.hx b/qemu-options.hx
> index 455b8be8903..732934a6fa8 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -896,11 +896,16 @@ DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev,
>       QEMU_ARCH_ALL)
>   SRST
>   ``-audiodev [driver=]driver,id=id[,prop[=value][,...]]``
> -    Adds a new audio backend driver identified by id. There are global
> -    and driver specific properties. Some values can be set differently
> -    for input and output, they're marked with ``in|out.``. You can set
> -    the input's property with ``in.prop`` and the output's property with
> -    ``out.prop``. For example:
> +    Adds a new audio backend driver identified by id.
> +
> +    If no audio backend is specified, QEMU will attempt to select a
> +    default one. The ``-display`` option may influence which backend is
> +    selected.
> +
> +    There are global and driver specific properties. Some values can be
> +    set differently for input and output, they're marked with ``in|out.``.
> +    You can set the input's property with ``in.prop`` and the output's
> +    property with ``out.prop``. For example:
>   
>       ::
>   
> @@ -2172,8 +2177,11 @@ DEF("display", HAS_ARG, QEMU_OPTION_display,
>       , QEMU_ARCH_ALL)
>   SRST
>   ``-display type``
> -    Select type of display to use. Use ``-display help`` to list the available
> -    display types. Valid values for type are
> +    Select type of display to use. This may also influence the default
> +    audio backend selection.
> +
> +    Use ``-display help`` to list the available display types. Valid values
> +    for type are
>   
>       ``spice-app[,gl=on|off]``
>           Start QEMU as a Spice server and launch the default Spice client

The documentation changes look fine in terms of describing how one 
option may influence the other, however there is no explicit mention in 
the documentation that selecting a dbus display with no audio backend 
will also use dbus for audio.

Is it possible to mention this somewhere? Otherwise someone would have 
to go digging through the code to figure this out.


ATB,

Mark.


Re: [PATCH 05/37] qemu-options.hx: clarify default audio backend selection
Posted by Marc-André Lureau 6 days, 15 hours ago
Hi Mark

On Tue, Feb 3, 2026 at 7:49 PM Mark Cave-Ayland
<mark.caveayland@nutanix.com> wrote:
>
> On 23/01/2026 07:49, marcandre.lureau@redhat.com wrote:
>
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > ---
> >   qemu-options.hx | 22 +++++++++++++++-------
> >   1 file changed, 15 insertions(+), 7 deletions(-)
> >
> > diff --git a/qemu-options.hx b/qemu-options.hx
> > index 455b8be8903..732934a6fa8 100644
> > --- a/qemu-options.hx
> > +++ b/qemu-options.hx
> > @@ -896,11 +896,16 @@ DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev,
> >       QEMU_ARCH_ALL)
> >   SRST
> >   ``-audiodev [driver=]driver,id=id[,prop[=value][,...]]``
> > -    Adds a new audio backend driver identified by id. There are global
> > -    and driver specific properties. Some values can be set differently
> > -    for input and output, they're marked with ``in|out.``. You can set
> > -    the input's property with ``in.prop`` and the output's property with
> > -    ``out.prop``. For example:
> > +    Adds a new audio backend driver identified by id.
> > +
> > +    If no audio backend is specified, QEMU will attempt to select a
> > +    default one. The ``-display`` option may influence which backend is
> > +    selected.
> > +
> > +    There are global and driver specific properties. Some values can be
> > +    set differently for input and output, they're marked with ``in|out.``.
> > +    You can set the input's property with ``in.prop`` and the output's
> > +    property with ``out.prop``. For example:
> >
> >       ::
> >
> > @@ -2172,8 +2177,11 @@ DEF("display", HAS_ARG, QEMU_OPTION_display,
> >       , QEMU_ARCH_ALL)
> >   SRST
> >   ``-display type``
> > -    Select type of display to use. Use ``-display help`` to list the available
> > -    display types. Valid values for type are
> > +    Select type of display to use. This may also influence the default
> > +    audio backend selection.
> > +
> > +    Use ``-display help`` to list the available display types. Valid values
> > +    for type are
> >
> >       ``spice-app[,gl=on|off]``
> >           Start QEMU as a Spice server and launch the default Spice client
>
> The documentation changes look fine in terms of describing how one
> option may influence the other, however there is no explicit mention in
> the documentation that selecting a dbus display with no audio backend
> will also use dbus for audio.
>
> Is it possible to mention this somewhere? Otherwise someone would have
> to go digging through the code to figure this out.

would something like that help?

@@ -2191,6 +2192,9 @@ SRST
     ``dbus``
         Export the display over D-Bus interfaces. (Since 7.0)

+        When no audio backend is specified, the dbus audio backend is used
+        by default.
+


-- 
Marc-André Lureau
Re: [PATCH 05/37] qemu-options.hx: clarify default audio backend selection
Posted by Mark Cave-Ayland 5 days, 11 hours ago
On 04/02/2026 12:27, Marc-André Lureau wrote:

> Hi Mark
> 
> On Tue, Feb 3, 2026 at 7:49 PM Mark Cave-Ayland
> <mark.caveayland@nutanix.com> wrote:
>>
>> On 23/01/2026 07:49, marcandre.lureau@redhat.com wrote:
>>
>>> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>>>
>>> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>>> ---
>>>    qemu-options.hx | 22 +++++++++++++++-------
>>>    1 file changed, 15 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/qemu-options.hx b/qemu-options.hx
>>> index 455b8be8903..732934a6fa8 100644
>>> --- a/qemu-options.hx
>>> +++ b/qemu-options.hx
>>> @@ -896,11 +896,16 @@ DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev,
>>>        QEMU_ARCH_ALL)
>>>    SRST
>>>    ``-audiodev [driver=]driver,id=id[,prop[=value][,...]]``
>>> -    Adds a new audio backend driver identified by id. There are global
>>> -    and driver specific properties. Some values can be set differently
>>> -    for input and output, they're marked with ``in|out.``. You can set
>>> -    the input's property with ``in.prop`` and the output's property with
>>> -    ``out.prop``. For example:
>>> +    Adds a new audio backend driver identified by id.
>>> +
>>> +    If no audio backend is specified, QEMU will attempt to select a
>>> +    default one. The ``-display`` option may influence which backend is
>>> +    selected.
>>> +
>>> +    There are global and driver specific properties. Some values can be
>>> +    set differently for input and output, they're marked with ``in|out.``.
>>> +    You can set the input's property with ``in.prop`` and the output's
>>> +    property with ``out.prop``. For example:
>>>
>>>        ::
>>>
>>> @@ -2172,8 +2177,11 @@ DEF("display", HAS_ARG, QEMU_OPTION_display,
>>>        , QEMU_ARCH_ALL)
>>>    SRST
>>>    ``-display type``
>>> -    Select type of display to use. Use ``-display help`` to list the available
>>> -    display types. Valid values for type are
>>> +    Select type of display to use. This may also influence the default
>>> +    audio backend selection.
>>> +
>>> +    Use ``-display help`` to list the available display types. Valid values
>>> +    for type are
>>>
>>>        ``spice-app[,gl=on|off]``
>>>            Start QEMU as a Spice server and launch the default Spice client
>>
>> The documentation changes look fine in terms of describing how one
>> option may influence the other, however there is no explicit mention in
>> the documentation that selecting a dbus display with no audio backend
>> will also use dbus for audio.
>>
>> Is it possible to mention this somewhere? Otherwise someone would have
>> to go digging through the code to figure this out.
> 
> would something like that help?
> 
> @@ -2191,6 +2192,9 @@ SRST
>       ``dbus``
>           Export the display over D-Bus interfaces. (Since 7.0)
> 
> +        When no audio backend is specified, the dbus audio backend is used
> +        by default.
> +

That definitely helps. Is it possible to tweak the wording to something 
along the lines of:

If no audio backend is specified and the dbus display backend is 
specified, the dbus audio backend is used by default.

Another question: is there any documentation for -audiodev dbus and its 
properties anywhere at all? I had a look at 
https://qemu.readthedocs.io/en/master/system/invocation.html but I can't 
see an entry for it in the audiodev section anywhere?


ATB,

Mark.


Re: [PATCH 05/37] qemu-options.hx: clarify default audio backend selection
Posted by Marc-André Lureau 4 days, 14 hours ago
Hi

On Thu, Feb 5, 2026 at 8:19 PM Mark Cave-Ayland
<mark.caveayland@nutanix.com> wrote:
>
> On 04/02/2026 12:27, Marc-André Lureau wrote:
>
> > Hi Mark
> >
> > On Tue, Feb 3, 2026 at 7:49 PM Mark Cave-Ayland
> > <mark.caveayland@nutanix.com> wrote:
> >>
> >> On 23/01/2026 07:49, marcandre.lureau@redhat.com wrote:
> >>
> >>> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >>>
> >>> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> >>> ---
> >>>    qemu-options.hx | 22 +++++++++++++++-------
> >>>    1 file changed, 15 insertions(+), 7 deletions(-)
> >>>
> >>> diff --git a/qemu-options.hx b/qemu-options.hx
> >>> index 455b8be8903..732934a6fa8 100644
> >>> --- a/qemu-options.hx
> >>> +++ b/qemu-options.hx
> >>> @@ -896,11 +896,16 @@ DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev,
> >>>        QEMU_ARCH_ALL)
> >>>    SRST
> >>>    ``-audiodev [driver=]driver,id=id[,prop[=value][,...]]``
> >>> -    Adds a new audio backend driver identified by id. There are global
> >>> -    and driver specific properties. Some values can be set differently
> >>> -    for input and output, they're marked with ``in|out.``. You can set
> >>> -    the input's property with ``in.prop`` and the output's property with
> >>> -    ``out.prop``. For example:
> >>> +    Adds a new audio backend driver identified by id.
> >>> +
> >>> +    If no audio backend is specified, QEMU will attempt to select a
> >>> +    default one. The ``-display`` option may influence which backend is
> >>> +    selected.
> >>> +
> >>> +    There are global and driver specific properties. Some values can be
> >>> +    set differently for input and output, they're marked with ``in|out.``.
> >>> +    You can set the input's property with ``in.prop`` and the output's
> >>> +    property with ``out.prop``. For example:
> >>>
> >>>        ::
> >>>
> >>> @@ -2172,8 +2177,11 @@ DEF("display", HAS_ARG, QEMU_OPTION_display,
> >>>        , QEMU_ARCH_ALL)
> >>>    SRST
> >>>    ``-display type``
> >>> -    Select type of display to use. Use ``-display help`` to list the available
> >>> -    display types. Valid values for type are
> >>> +    Select type of display to use. This may also influence the default
> >>> +    audio backend selection.
> >>> +
> >>> +    Use ``-display help`` to list the available display types. Valid values
> >>> +    for type are
> >>>
> >>>        ``spice-app[,gl=on|off]``
> >>>            Start QEMU as a Spice server and launch the default Spice client
> >>
> >> The documentation changes look fine in terms of describing how one
> >> option may influence the other, however there is no explicit mention in
> >> the documentation that selecting a dbus display with no audio backend
> >> will also use dbus for audio.
> >>
> >> Is it possible to mention this somewhere? Otherwise someone would have
> >> to go digging through the code to figure this out.
> >
> > would something like that help?
> >
> > @@ -2191,6 +2192,9 @@ SRST
> >       ``dbus``
> >           Export the display over D-Bus interfaces. (Since 7.0)
> >
> > +        When no audio backend is specified, the dbus audio backend is used
> > +        by default.
> > +
>
> That definitely helps. Is it possible to tweak the wording to something
> along the lines of:
>
> If no audio backend is specified and the dbus display backend is
> specified, the dbus audio backend is used by default.
>

ok

> Another question: is there any documentation for -audiodev dbus and its
> properties anywhere at all? I had a look at
> https://qemu.readthedocs.io/en/master/system/invocation.html but I can't
> see an entry for it in the audiodev section anywhere?

Good catch, what about?:

+``-audiodev dbus,id=id[,prop[=value][,...]]``
+    Creates a D-Bus backend. It must be associated with the display
+    (as ``-display dbus,audiodev=id``). (Since 7.0)
+
+    D-Bus specific options are:
+
+    ``nsamples``
+        Number of samples per read/write (default to 480, 10ms at 48kHz)
+        (Since 10.0)

thanks

-- 
Marc-André Lureau
Re: [PATCH 05/37] qemu-options.hx: clarify default audio backend selection
Posted by Mark Cave-Ayland 4 days, 13 hours ago
On 06/02/2026 13:04, Marc-André Lureau wrote:

> Hi
> 
> On Thu, Feb 5, 2026 at 8:19 PM Mark Cave-Ayland
> <mark.caveayland@nutanix.com> wrote:
>>
>> On 04/02/2026 12:27, Marc-André Lureau wrote:
>>
>>> Hi Mark
>>>
>>> On Tue, Feb 3, 2026 at 7:49 PM Mark Cave-Ayland
>>> <mark.caveayland@nutanix.com> wrote:
>>>>
>>>> On 23/01/2026 07:49, marcandre.lureau@redhat.com wrote:
>>>>
>>>>> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>>>>>
>>>>> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>>>>> ---
>>>>>     qemu-options.hx | 22 +++++++++++++++-------
>>>>>     1 file changed, 15 insertions(+), 7 deletions(-)
>>>>>
>>>>> diff --git a/qemu-options.hx b/qemu-options.hx
>>>>> index 455b8be8903..732934a6fa8 100644
>>>>> --- a/qemu-options.hx
>>>>> +++ b/qemu-options.hx
>>>>> @@ -896,11 +896,16 @@ DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev,
>>>>>         QEMU_ARCH_ALL)
>>>>>     SRST
>>>>>     ``-audiodev [driver=]driver,id=id[,prop[=value][,...]]``
>>>>> -    Adds a new audio backend driver identified by id. There are global
>>>>> -    and driver specific properties. Some values can be set differently
>>>>> -    for input and output, they're marked with ``in|out.``. You can set
>>>>> -    the input's property with ``in.prop`` and the output's property with
>>>>> -    ``out.prop``. For example:
>>>>> +    Adds a new audio backend driver identified by id.
>>>>> +
>>>>> +    If no audio backend is specified, QEMU will attempt to select a
>>>>> +    default one. The ``-display`` option may influence which backend is
>>>>> +    selected.
>>>>> +
>>>>> +    There are global and driver specific properties. Some values can be
>>>>> +    set differently for input and output, they're marked with ``in|out.``.
>>>>> +    You can set the input's property with ``in.prop`` and the output's
>>>>> +    property with ``out.prop``. For example:
>>>>>
>>>>>         ::
>>>>>
>>>>> @@ -2172,8 +2177,11 @@ DEF("display", HAS_ARG, QEMU_OPTION_display,
>>>>>         , QEMU_ARCH_ALL)
>>>>>     SRST
>>>>>     ``-display type``
>>>>> -    Select type of display to use. Use ``-display help`` to list the available
>>>>> -    display types. Valid values for type are
>>>>> +    Select type of display to use. This may also influence the default
>>>>> +    audio backend selection.
>>>>> +
>>>>> +    Use ``-display help`` to list the available display types. Valid values
>>>>> +    for type are
>>>>>
>>>>>         ``spice-app[,gl=on|off]``
>>>>>             Start QEMU as a Spice server and launch the default Spice client
>>>>
>>>> The documentation changes look fine in terms of describing how one
>>>> option may influence the other, however there is no explicit mention in
>>>> the documentation that selecting a dbus display with no audio backend
>>>> will also use dbus for audio.
>>>>
>>>> Is it possible to mention this somewhere? Otherwise someone would have
>>>> to go digging through the code to figure this out.
>>>
>>> would something like that help?
>>>
>>> @@ -2191,6 +2192,9 @@ SRST
>>>        ``dbus``
>>>            Export the display over D-Bus interfaces. (Since 7.0)
>>>
>>> +        When no audio backend is specified, the dbus audio backend is used
>>> +        by default.
>>> +
>>
>> That definitely helps. Is it possible to tweak the wording to something
>> along the lines of:
>>
>> If no audio backend is specified and the dbus display backend is
>> specified, the dbus audio backend is used by default.
>>
> 
> ok
> 
>> Another question: is there any documentation for -audiodev dbus and its
>> properties anywhere at all? I had a look at
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__qemu.readthedocs.io_en_master_system_invocation.html&d=DwIFaQ&c=s883GpUCOChKOHiocYtGcg&r=c23RpsaH4D2MKyD3EPJTDa0BAxz6tV8aUJqVSoytEiY&m=YVTDyodBF4JmdX2qwmxSr6fpEy1WbzwM7Ovk8-n_tAoAcJd6plea1zQTWirWJSgL&s=PSJ5e8WKwy1qjmONVgXjGeBQJi2e0gzgIP5I95felxE&e=  but I can't
>> see an entry for it in the audiodev section anywhere?
> 
> Good catch, what about?:
> 
> +``-audiodev dbus,id=id[,prop[=value][,...]]``
> +    Creates a D-Bus backend. It must be associated with the display
> +    (as ``-display dbus,audiodev=id``). (Since 7.0)
> +
> +    D-Bus specific options are:
> +
> +    ``nsamples``
> +        Number of samples per read/write (default to 480, 10ms at 48kHz)
> +        (Since 10.0)

Looks good to me - feel free to add a:

Reviewed-by: Mark Cave-Ayland <mark.caveayland@nutanix.com>


ATB,

Mark.