Hi

On Mon, May 26, 2025 at 8:27 AM Markus Armbruster <arm...@redhat.com> wrote:

> marcandre.lur...@redhat.com writes:
>
> > From: BALATON Zoltan <bala...@eik.bme.hu>
> >
> > Quoting Volker Rümelin: "try-poll=on tells the ALSA backend to try to
> > use an event loop instead of the audio timer. This works most of the
> > time. But the poll event handler in the ALSA backend has a bug. For
> > example, if the guest can't provide enough audio frames in time, the
> > ALSA buffer is only partly full and the event handler will be called
> > again and again on every iteration of the main loop. This increases
> > the processor load and the guest has less processor time to provide
> > new audio frames in time. I have two examples where a guest can't
> > recover from this situation and the guest seems to hang."
> >
> > One reproducer I've found is booting MorphOS demo iso on
> > qemu-system-ppc -machine pegasos2 -audio alsa which should play a
> > startup sound but instead it freezes. Even when it does not hang it
> > plays choppy sound. Volker suggested using command line to set
> > try-poll=off saying: "The try-poll=off arguments are typically
> > necessary, because the alsa backend has a design issue with
> > try-poll=on. If the guest can't provide enough audio frames, it's
> > really unhelpful to ask for new audio frames on every main loop
> > iteration until the guest can provide enough audio frames. Timer based
> > playback doesn't have that problem."
> >
> > But users cannot easily find this option and having a non-working
> > default is really unhelpful so to make life easier just set it to
> > false by default which works until the issue with the alsa backend can
> > be fixed.
> >
> > Signed-off-by: BALATON Zoltan <bala...@eik.bme.hu>
> > Acked-by: Marc-André Lureau <marcandre.lur...@redhat.com>
> > [ Marc-André - Updated QAPI and CLI doc ]
> > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
> > Message-Id: <20250316002046.d066a4e6...@zero.eik.bme.hu>
> > ---
> >  qapi/audio.json   | 2 +-
> >  audio/alsaaudio.c | 2 +-
> >  qemu-options.hx   | 4 ++--
> >  3 files changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/qapi/audio.json b/qapi/audio.json
> > index dd5a58d13e..49633cf317 100644
> > --- a/qapi/audio.json
> > +++ b/qapi/audio.json
> > @@ -96,7 +96,7 @@
> >  # @period-length: the period length in microseconds
> >  #
> >  # @try-poll: attempt to use poll mode, falling back to non-polling
> > -#     access on failure (default true)
> > +#     access on failure (default false)
> >  #
> >  # Since: 4.0
> >  ##
>
> Missed this when it was posted (it wasn't cc'ed to me).  Flipping the
> default is technically an incompatible change.  I understand the
> justification, and I'm not passing judgement on its validity; that's the
> audio maintainers job.  I just want to ask: does this need a release
> note?
>
>
I doubt anyone will care as long as it doesn't break (that we can't know).

I added a note to https://wiki.qemu.org/ChangeLog/10.1#Audio


We normally record incompatible changes in docs/about/deprecated.rst and
> then docs/about/removed-features.rst, but these don't fit here.
>
> [...]
>
>

Reply via email to