Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: bf53e2023271cfea80d7cae1d92143181fa547b5
      
https://github.com/qemu/qemu/commit/bf53e2023271cfea80d7cae1d92143181fa547b5
  Author: Marc-André Lureau <marcandre.lur...@redhat.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/gtk-clipboard.c

  Log Message:
  -----------
  ui/gtk: warn if setting the clipboard failed

Just in case.
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>


  Commit: acc6a94a812cd1337785413b27580f8a8f4ac170
      
https://github.com/qemu/qemu/commit/acc6a94a812cd1337785413b27580f8a8f4ac170
  Author: Marc-André Lureau <marcandre.lur...@redhat.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M include/ui/clipboard.h

  Log Message:
  -----------
  ui/clipboard: use int for selection field

This allows to use a VMSTATE_INT32 field for migration purposes.

Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: a3f59c70d6c943e3a4d9c44ed138fa15c5ded70b
      
https://github.com/qemu/qemu/commit/a3f59c70d6c943e3a4d9c44ed138fa15c5ded70b
  Author: Marc-André Lureau <marcandre.lur...@redhat.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M include/ui/clipboard.h

  Log Message:
  -----------
  ui/clipboard: split out QemuClipboardContent

Allows to use VMSTATE STRUCT in following migration support patch.

Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: d0de94cbc053c4475fbf705cafa1ab488eae3a19
      
https://github.com/qemu/qemu/commit/d0de94cbc053c4475fbf705cafa1ab488eae3a19
  Author: Marc-André Lureau <marcandre.lur...@redhat.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M include/ui/clipboard.h
    M ui/clipboard.c

  Log Message:
  -----------
  ui/clipboard: add vmstate_cbinfo

Add a VMStateDescriptor for QemuClipboardInfo.

Each clipboard owner will have to save its QemuClipboardInfo and
reregister its owned clipboard after loading. (the global cbinfo has
only pointers to owners, so it can't restore the relation with its owner
if it was to handle migration)

Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: c967ff606b99f5f4ecc16817b9d9604a9c943dd2
      
https://github.com/qemu/qemu/commit/c967ff606b99f5f4ecc16817b9d9604a9c943dd2
  Author: Marc-André Lureau <marcandre.lur...@redhat.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/clipboard.c

  Log Message:
  -----------
  ui/clipboard: delay clipboard update when not running

When VM is paused, we shouldn't notify of clipboard changes, similar to
how input are being treated.

On unsuspend, notify of the current state.

Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: ac5e2bc910d350cd0653b8d049518d642ee14a49
      
https://github.com/qemu/qemu/commit/ac5e2bc910d350cd0653b8d049518d642ee14a49
  Author: Marc-André Lureau <marcandre.lur...@redhat.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/vdagent.c

  Log Message:
  -----------
  ui/vdagent: replace Buffer with GByteArray

Buffer is slightly more advanced than GByteArray, since it has a
cursor/position. But vdagent code doesn't need it. This simplify a bit
the code, and migration state.

Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 688ff4cbdf4993c60ee250afc48e15c0880f28de
      
https://github.com/qemu/qemu/commit/688ff4cbdf4993c60ee250afc48e15c0880f28de
  Author: Marc-André Lureau <marcandre.lur...@redhat.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/vdagent.c

  Log Message:
  -----------
  ui/vdagent: keep "connected" state

During post-load of migration, virtio will notify of fe_open state.
However vdagent code will handle this as a reconnection. This will
trigger a connection reset/caps with the agent.

Check if the state actually changed before resetting the connection.

Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: f626116f9897b95f68e5514a08098d590349c22e
      
https://github.com/qemu/qemu/commit/f626116f9897b95f68e5514a08098d590349c22e
  Author: Marc-André Lureau <marcandre.lur...@redhat.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/vdagent.c

  Log Message:
  -----------
  ui/vdagent: factor out clipboard peer registration

This allows common code reuse during migration.

Note that resetting the serial is now done regardless if the clipboard
peer was registered or not. This should still be correct.

Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 5d56bff11e3d7fdbbf7fda6c9a8ebd0d6b7a7bac
      
https://github.com/qemu/qemu/commit/5d56bff11e3d7fdbbf7fda6c9a8ebd0d6b7a7bac
  Author: Marc-André Lureau <marcandre.lur...@redhat.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/vdagent.c

  Log Message:
  -----------
  ui/vdagent: add migration support

Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 42000e0013709f21b54f71b63525c22cb6b92d5d
      
https://github.com/qemu/qemu/commit/42000e0013709f21b54f71b63525c22cb6b92d5d
  Author: Marc-André Lureau <marcandre.lur...@redhat.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/vdagent.c

  Log Message:
  -----------
  ui/vdagent: remove migration blocker

Fixes: https://issues.redhat.com/browse/RHEL-81894
Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 9498e2f7e1a247557cfa0f830a86c398a23c6809
      
https://github.com/qemu/qemu/commit/9498e2f7e1a247557cfa0f830a86c398a23c6809
  Author: Weifeng Liu <weifeng.li...@gmail.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/gtk.c

  Log Message:
  -----------
  ui/gtk: Document scale and coordinate handling

The existence of multiple scaling factors forces us to deal with various
coordinate systems and this would be confusing. It would be beneficial
to define the concepts clearly and use consistent representation for
variables in different coordinates.

Signed-off-by: Weifeng Liu <weifeng.li...@gmail.com>
Message-ID: <20250511073337.876650-2-weifeng.li...@gmail.com>
Acked-by: Gerd Hoffmann <kra...@redhat.com>
Acked-by: Marc-André Lureau <marcandre.lur...@redhat.com>


  Commit: 3a6b314409b42fe7c46c2bd80cfc2a6744d414fe
      
https://github.com/qemu/qemu/commit/3a6b314409b42fe7c46c2bd80cfc2a6744d414fe
  Author: Weifeng Liu <weifeng.li...@gmail.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/gtk-egl.c
    M ui/gtk-gl-area.c
    M ui/gtk.c

  Log Message:
  -----------
  ui/gtk: Use consistent naming for variables in different coordinates

Now that we've documented definitions and presentation of various
coordinates, let's enforce the rules.

Signed-off-by: Weifeng Liu <weifeng.li...@gmail.com>
Message-ID: <20250511073337.876650-3-weifeng.li...@gmail.com>
Acked-by: Gerd Hoffmann <kra...@redhat.com>
Acked-by: Marc-André Lureau <marcandre.lur...@redhat.com>


  Commit: a19665448156f17b52b7f33e7960d57efcfca067
      
https://github.com/qemu/qemu/commit/a19665448156f17b52b7f33e7960d57efcfca067
  Author: Weifeng Liu <weifeng.li...@gmail.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M include/ui/gtk.h
    M ui/gtk.c

  Log Message:
  -----------
  gtk/ui: Introduce helper gd_update_scale

The code snippet updating scale_x/scale_y is general and will be used in
next patch. Make it a function.

Signed-off-by: Weifeng Liu <weifeng.li...@gmail.com>
Message-ID: <20250511073337.876650-4-weifeng.li...@gmail.com>
Acked-by: Gerd Hoffmann <kra...@redhat.com>
Acked-by: Marc-André Lureau <marcandre.lur...@redhat.com>


  Commit: 8fb072472c38cb1778c5b0bebf535a8b13533857
      
https://github.com/qemu/qemu/commit/8fb072472c38cb1778c5b0bebf535a8b13533857
  Author: Weifeng Liu <weifeng.li...@gmail.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/gtk-gl-area.c

  Log Message:
  -----------
  ui/gtk: Update scales in fixed-scale mode when rendering GL area

When gl=on, scale_x and scale_y were set to 1 on startup that didn't
reflect the real situation of the scan-out in free scale mode, resulting
in incorrect cursor coordinates to be sent when moving the mouse
pointer. Simply updating the scales before rendering the image fixes
this issue.

Signed-off-by: Weifeng Liu <weifeng.li...@gmail.com>
Message-ID: <20250511073337.876650-5-weifeng.li...@gmail.com>
Acked-by: Gerd Hoffmann <kra...@redhat.com>
Acked-by: Marc-André Lureau <marcandre.lur...@redhat.com>


  Commit: 30aa105640b0a2a541744b6584d57c9a4b86debd
      
https://github.com/qemu/qemu/commit/30aa105640b0a2a541744b6584d57c9a4b86debd
  Author: Weifeng Liu <weifeng....@intel.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/sdl2.c

  Log Message:
  -----------
  ui/sdl: Consider scaling in mouse event handling

When using sdl display backend, if the window is scaled, incorrect mouse
positions will be reported since scaling is not properly handled. Fix it
by transforming the positions from window coordinate to guest buffer
coordinate.

Signed-off-by: Weifeng Liu <weifeng....@intel.com>
Message-ID: <20250511073337.876650-6-weifeng.li...@gmail.com>
Acked-by: Gerd Hoffmann <kra...@redhat.com>
Acked-by: Marc-André Lureau <marcandre.lur...@redhat.com>


  Commit: 02f25490879096b679ab3d7cb7f0facfef7c6484
      
https://github.com/qemu/qemu/commit/02f25490879096b679ab3d7cb7f0facfef7c6484
  Author: Weifeng Liu <weifeng.li...@gmail.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/gtk-egl.c

  Log Message:
  -----------
  ui/gtk: Don't update scale in fixed scale mode in gtk-egl.c

Scale shouldn't be changed until user explicitly requests it in fixed
scale mode (full-screen=false and free-scale=false). Use function
gd_update_scale to complete scale updating instead.

Signed-off-by: Weifeng Liu <weifeng.li...@gmail.com>
Message-ID: <20250511073337.876650-7-weifeng.li...@gmail.com>
Acked-by: Gerd Hoffmann <kra...@redhat.com>
Acked-by: Marc-André Lureau <marcandre.lur...@redhat.com>


  Commit: a1b28f71f7ff0fcafbe0672b788e8e57ee4fe8f6
      
https://github.com/qemu/qemu/commit/a1b28f71f7ff0fcafbe0672b788e8e57ee4fe8f6
  Author: Weifeng Liu <weifeng.li...@gmail.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/gtk.c

  Log Message:
  -----------
  ui/gtk: Consider scaling when propagating ui info

The ui width and height sent to guest is supposed to be in buffer
coordinate. Hence conversion is required.

If scaling (global window scale and zooming scale) is not respected in
non-free-scale mode, window size could keep changing because of the
existence of the iteration of the following steps:

1. In resize event or configure event, a size larger (or smaller) than
   the currently used one might be calculated due to not considering
   scaling.
2. On reception of the display size change event in guest, the guest
   might decide to do a mode setting and use the larger (or smaller)
   mode.
3. When the new guest scan-out command arrives, QEMU would request the
   window size to change to fit the new buffer size. This will trigger a
   resize event or a configure event, making us go back to step 1.

Signed-off-by: Weifeng Liu <weifeng.li...@gmail.com>
Message-ID: <20250511073337.876650-8-weifeng.li...@gmail.com>
Acked-by: Gerd Hoffmann <kra...@redhat.com>
Acked-by: Marc-André Lureau <marcandre.lur...@redhat.com>


  Commit: fdc09b028fde9d2ec70418735f354b51c8295d0f
      
https://github.com/qemu/qemu/commit/fdc09b028fde9d2ec70418735f354b51c8295d0f
  Author: Weifeng Liu <weifeng.li...@gmail.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M ui/gtk-gl-area.c

  Log Message:
  -----------
  ui/gtk-gl-area: Render guest content with padding in fixed-scale mode

In fixed-scale mode (zoom-to-fit=false), we expect that scale should not
change, meaning that if window size is larger than guest surface,
padding is supposed to be added to preserve the scale. However, in
OpenGL mode (gl=on), guest surface is always painted to the whole canvas
without any padding. This change tries to fix this bug by adding
appropriate padding when drawing surfaces.

Signed-off-by: Weifeng Liu <weifeng.li...@gmail.com>
Message-ID: <20250511073337.876650-9-weifeng.li...@gmail.com>
Acked-by: Gerd Hoffmann <kra...@redhat.com>
Acked-by: Marc-André Lureau <marcandre.lur...@redhat.com>


  Commit: f05e1a93f48729b568fdf86a12d56ee142cee5e1
      
https://github.com/qemu/qemu/commit/f05e1a93f48729b568fdf86a12d56ee142cee5e1
  Author: Weifeng Liu <weifeng.li...@gmail.com>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M include/ui/egl-helpers.h
    M ui/egl-helpers.c
    M ui/gtk-egl.c
    M ui/sdl2-gl.c

  Log Message:
  -----------
  ui/gtk-egl: Render guest content with padding in fixed-scale mode

Scaling was not respected when rendering frames in gtk-egl.c (used if
gl=on and X11 mode). To fix this, add fields x and y to struct egl_fb
for x offset and y offset so we can add padding to window.

Signed-off-by: Weifeng Liu <weifeng.li...@gmail.com>
Message-ID: <20250511073337.876650-10-weifeng.li...@gmail.com>
Acked-by: Gerd Hoffmann <kra...@redhat.com>
Acked-by: Marc-André Lureau <marcandre.lur...@redhat.com>


  Commit: 9e9542a1771f5b44d198fbfa31b4b3fb947e46ce
      
https://github.com/qemu/qemu/commit/9e9542a1771f5b44d198fbfa31b4b3fb947e46ce
  Author: Volker Rümelin <vr_q...@t-online.de>
  Date:   2025-05-25 (Sun, 25 May 2025)

  Changed paths:
    M tests/functional/test_m68k_q800.py
    M tests/functional/test_m68k_replay.py

  Log Message:
  -----------
  tests/functional: use 'none' audio driver for q800 tests

Since commit ac13a6b3fd ("audio: add Apple Sound Chip (ASC)
emulation") the Quadra 800 machine has an audio device. It is
not guaranteed that the default audio driver of the audio
subsystem will work correctly on all host systems. Therefore,
the 'none' audio driver should be used in all q800 tests.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2812
Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Signed-off-by: Volker Rümelin <vr_q...@t-online.de>
Message-Id: <20250515054429.7385-1-vr_q...@t-online.de>


  Commit: 5ddd6c8dc849b4af44bd06840c9133d64e62c27c
      
https://github.com/qemu/qemu/commit/5ddd6c8dc849b4af44bd06840c9133d64e62c27c
  Author: Volker Rümelin <vr_q...@t-online.de>
  Date:   2025-05-25 (Sun, 25 May 2025)

  Changed paths:
    M audio/audio.c

  Log Message:
  -----------
  audio: fix SIGSEGV in AUD_get_buffer_size_out()

As far as the emulated audio devices are concerned the pointer
returned by AUD_open_out() is an opaque handle. This includes
the NULL pointer. In this case, AUD_get_buffer_size_out() should
return a sensible buffer size instead of triggering a segmentation
fault. All other public AUD_*_out() and audio_*_out() functions
handle this case.

Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Signed-off-by: Volker Rümelin <vr_q...@t-online.de>
Message-Id: <20250515054429.7385-2-vr_q...@t-online.de>


  Commit: ccb4fec0e5f233cb61a83b3af59ae11716ea06c0
      
https://github.com/qemu/qemu/commit/ccb4fec0e5f233cb61a83b3af59ae11716ea06c0
  Author: Volker Rümelin <vr_q...@t-online.de>
  Date:   2025-05-25 (Sun, 25 May 2025)

  Changed paths:
    M audio/audio.c

  Log Message:
  -----------
  audio: fix size calculation in AUD_get_buffer_size_out()

The buffer size calculated by AUD_get_buffer_size_out() is often
incorrect. sw->hw->samples * sw->hw->info.bytes_per_frame is the
size of the mixing engine buffer in audio frames multiplied by
the size of one frame of the audio backend. Due to resampling or
format conversion, the size of the frontend buffer can differ
significantly.

Return the correct buffer size when the mixing engine is used.

Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Signed-off-by: Volker Rümelin <vr_q...@t-online.de>
Message-Id: <20250515054429.7385-3-vr_q...@t-online.de>


  Commit: d009f26a54f573468be721590a19350c224bc730
      
https://github.com/qemu/qemu/commit/d009f26a54f573468be721590a19350c224bc730
  Author: Volker Rümelin <vr_q...@t-online.de>
  Date:   2025-05-25 (Sun, 25 May 2025)

  Changed paths:
    M hw/audio/asc.c

  Log Message:
  -----------
  hw/audio/asc: fix SIGSEGV in asc_realize()

AUD_open_out() may fail and return NULL. This may then lead to
a segmentation fault in memset() below. The memset() behaviour
is undefined if the pointer to the destination object is a null
pointer.

Add the missing error handling code.

Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Signed-off-by: Volker Rümelin <vr_q...@t-online.de>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>
Message-Id: <20250515054429.7385-4-vr_q...@t-online.de>


  Commit: f4b1c3db11317c4bce18fa3bbb025df7c22ea54c
      
https://github.com/qemu/qemu/commit/f4b1c3db11317c4bce18fa3bbb025df7c22ea54c
  Author: Volker Rümelin <vr_q...@t-online.de>
  Date:   2025-05-25 (Sun, 25 May 2025)

  Changed paths:
    M hw/audio/asc.c

  Log Message:
  -----------
  hw/audio/asc: replace g_malloc0() with g_malloc()

There is no need to allocate initialized memory with g_malloc0()
if it's directly followed by a memset() function call. g_malloc()
is sufficient.

Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Volker Rümelin <vr_q...@t-online.de>
Message-Id: <20250515054429.7385-5-vr_q...@t-online.de>


  Commit: 9ddb7c85c965636f7abf91382dc40175ce121aa3
      
https://github.com/qemu/qemu/commit/9ddb7c85c965636f7abf91382dc40175ce121aa3
  Author: Volker Rümelin <vr_q...@t-online.de>
  Date:   2025-05-25 (Sun, 25 May 2025)

  Changed paths:
    M audio/mixeng.c

  Log Message:
  -----------
  audio/mixeng: remove unnecessary pointer type casts

A simple assignment automatically converts a void pointer type
to any other pointer type.

Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Signed-off-by: Volker Rümelin <vr_q...@t-online.de>
Message-Id: <20250515054429.7385-6-vr_q...@t-online.de>


  Commit: 5d978c5da7f7d85d3a74b7d4dbe9ba5c5584d560
      
https://github.com/qemu/qemu/commit/5d978c5da7f7d85d3a74b7d4dbe9ba5c5584d560
  Author: Volker Rümelin <vr_q...@t-online.de>
  Date:   2025-05-25 (Sun, 25 May 2025)

  Changed paths:
    M audio/audio.c
    M audio/audio_template.h
    M audio/mixeng.c
    M audio/mixeng.h

  Log Message:
  -----------
  audio: add float sample endianness converters

Commit ed2a4a7941 ("audio: proper support for float samples in
mixeng") added support for float audio samples. As there were no
audio frontend devices with float support at that time, the code
was limited to native endian float samples.

When nobody was paying attention, an audio device that supports
floating point samples crept in with commit eb9ad377bb
("virtio-sound: handle control messages and streams").

Add code for the audio subsystem to convert float samples to the
correct endianness.

The type punning code was taken from the PipeWire project.

Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Signed-off-by: Volker Rümelin <vr_q...@t-online.de>
Message-Id: <20250515054429.7385-7-vr_q...@t-online.de>


  Commit: f6ccfd5d166acf495f5d6d320da503fae8dc14a4
      
https://github.com/qemu/qemu/commit/f6ccfd5d166acf495f5d6d320da503fae8dc14a4
  Author: BALATON Zoltan <bala...@eik.bme.hu>
  Date:   2025-05-25 (Sun, 25 May 2025)

  Changed paths:
    M audio/alsaaudio.c
    M qapi/audio.json
    M qemu-options.hx

  Log Message:
  -----------
  alsaaudio: Set try-poll to false by default

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>


  Commit: 2bccabe6df5e91145c1313bb79b98200aa13b5ff
      
https://github.com/qemu/qemu/commit/2bccabe6df5e91145c1313bb79b98200aa13b5ff
  Author: Akihiko Odaki <akihiko.od...@daynix.com>
  Date:   2025-05-25 (Sun, 25 May 2025)

  Changed paths:
    M audio/audio.c
    M audio/audio_int.h

  Log Message:
  -----------
  audio: Reset rate control when adding bytes

Commit 90320051ea99 ("spiceaudio: add a pcm_ops buffer_get_free
function") caused to emit messages saying "Resetting rate control"
frequently when the guest generates no frames.

audio_rate_peek_bytes() resets the rate control when frames < 0 ||
frames > 65536 where frames is the rate-limited number of frames.
Resetting when frames < 0 is sensible as the number simply doesn't make
sense.

There is a problem when frames > 65536. It implies the guest stopped
generating frames for a while so it makes sense to reset the rate
control when the guest resumed generating frames. However, the
commit mentioned earlier broke this assumption by letting spiceaudio
call audio_rate_peek_bytes() whether the guest is generating frames or
not.

Reset the rate control in audio_rate_add_bytes(), which is called only
when actually adding frames, according to the previous call to
audio_rate_peek_bytes() to avoid frequent rate control resets even when
the guest generates no frame.

Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com>
Message-Id: <20250317-rate-v1-1-da9df0627...@daynix.com>


  Commit: 6f388a37e6dc2df4457692afe6adb5448b7db31d
      
https://github.com/qemu/qemu/commit/6f388a37e6dc2df4457692afe6adb5448b7db31d
  Author: Stefan Hajnoczi <stefa...@redhat.com>
  Date:   2025-05-25 (Sun, 25 May 2025)

  Changed paths:
    M include/ui/clipboard.h
    M include/ui/egl-helpers.h
    M include/ui/gtk.h
    M ui/clipboard.c
    M ui/egl-helpers.c
    M ui/gtk-clipboard.c
    M ui/gtk-egl.c
    M ui/gtk-gl-area.c
    M ui/gtk.c
    M ui/sdl2-gl.c
    M ui/sdl2.c
    M ui/vdagent.c

  Log Message:
  -----------
  Merge tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu into 
staging

UI-related

- vdagent migration support
- gtk: improve scale handling

# -----BEGIN PGP SIGNATURE-----
#
# iQJQBAABCgA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmgyAywcHG1hcmNhbmRy
# ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5TbTD/4/3da55xtH0yVSol+G
# T6S7F1GKUbSCi0y/t+PiG2usiE17euZ+m1mKBAOT2kObehS3gWybIreNBZ3IAPZg
# Hm8RoIU6yStui2RZ/rKx2d1P2nq3mMmaB7uToHwPl6KsO2hYm75zmXCGH6oBI+ah
# muNkxzsIky9qnOaKeZRODPkPiG1LXfte0IYV6wkpBcXUqE595rQfD9WDuOJ7WKJe
# T1GiwxdClZGBM6SahDhfwdoFx1yTk8rTtTdYM0K3W7xMQGvCKLGQHDmS7JeQ1lm3
# 42H3kh760UwNqSyk4L0TWZiGrsEWCsbU7heiRLeVL/FBA8N2TWL6xKB/xSO4duJ3
# v63652/rNh18AFnSRu0CaIBwf/hXfLpU/cKv/Sqmm2X8FjD7dLMyaAHCz1BC0acU
# +VA8JKRu7F5GbsisaYyG4lY6u8IBw9sq/FhyNBflBy3MQl0v4PV5x1eqDbGT1560
# k2bQbIChumn8U4TmEA1IHDFX45cdxZmlgnt7yq+SUn5/CmRJrXAlacPRje4A4omL
# YS3Y1Qn4X7sXyIdoHvxofng2NU0nfZX9az27aXsGkRNtzjibZzjl8rJKcaCx0LGQ
# uFJwA+ArCJjTJ3EB09373iGixW0Vuv4dM4IkNp+QGoCOVH0jeER6bs9cNROG6WmS
# e1nWuW0hZgmdusw1S0ncxFc+YA==
# =SjRP
# -----END PGP SIGNATURE-----
# gpg: Signature made Sat 24 May 2025 13:34:36 EDT
# gpg:                using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5
# gpg:                issuer "marcandre.lur...@redhat.com"
# gpg: Good signature from "Marc-André Lureau <marcandre.lur...@redhat.com>" 
[full]
# gpg:                 aka "Marc-André Lureau <marcandre.lur...@gmail.com>" 
[full]
# Primary key fingerprint: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5

* tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu:
  ui/gtk-egl: Render guest content with padding in fixed-scale mode
  ui/gtk-gl-area: Render guest content with padding in fixed-scale mode
  ui/gtk: Consider scaling when propagating ui info
  ui/gtk: Don't update scale in fixed scale mode in gtk-egl.c
  ui/sdl: Consider scaling in mouse event handling
  ui/gtk: Update scales in fixed-scale mode when rendering GL area
  gtk/ui: Introduce helper gd_update_scale
  ui/gtk: Use consistent naming for variables in different coordinates
  ui/gtk: Document scale and coordinate handling
  ui/vdagent: remove migration blocker
  ui/vdagent: add migration support
  ui/vdagent: factor out clipboard peer registration
  ui/vdagent: keep "connected" state
  ui/vdagent: replace Buffer with GByteArray
  ui/clipboard: delay clipboard update when not running
  ui/clipboard: add vmstate_cbinfo
  ui/clipboard: split out QemuClipboardContent
  ui/clipboard: use int for selection field
  ui/gtk: warn if setting the clipboard failed

Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>


  Commit: 3c5a5e213e5f08fbfe70728237f7799ac70f5b99
      
https://github.com/qemu/qemu/commit/3c5a5e213e5f08fbfe70728237f7799ac70f5b99
  Author: Stefan Hajnoczi <stefa...@redhat.com>
  Date:   2025-05-25 (Sun, 25 May 2025)

  Changed paths:
    M audio/alsaaudio.c
    M audio/audio.c
    M audio/audio_int.h
    M audio/audio_template.h
    M audio/mixeng.c
    M audio/mixeng.h
    M hw/audio/asc.c
    M qapi/audio.json
    M qemu-options.hx
    M tests/functional/test_m68k_q800.py
    M tests/functional/test_m68k_replay.py

  Log Message:
  -----------
  Merge tag 'audio-pull-request' of https://gitlab.com/marcandre.lureau/qemu 
into staging

Audio patches

- add float sample endianness converters
- various fixes

# -----BEGIN PGP SIGNATURE-----
#
# iQJQBAABCgA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmgzGnEcHG1hcmNhbmRy
# ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5YkCEACA7BmZRorXwWuozmOK
# /I6ar0j6VjpKOzFQFo2Sy4vfLOb2rl5Q3Fb02Dk3nR9f3FpYmoIKF9sbBUdL095v
# Nhj8wNyCiM/QTFFPXNKa92ubovCyC25pyVLogXmMaa5YhhZpF4wcx/ermhbyhhmL
# GTmqfbnN8ki6jQ22ftKGBbcvny4xakKaLJdQtk/joSk0PF67FKZrenjVkcNThFwY
# kHyyBCdm2G8VVVyxfHk+/S22+eMkeTZfJgMo2WfYpWWqLTTkrASJNjf8oG+bfzAa
# +iMyUzEHDK+rOatcb5SbZltfEljdBh+2LaPEziEZWGfbwKA1/QHztBn3Rs6CwVdS
# AU2F9gWhL1GOBIaop1I3EvJ1eGQZCZex08gV7jgdLdBh0x6NLKahqHU9CMHsY07a
# zhp4FsFPs4G9cmmbw064qPAdI11hhLiqckaI91gYVIJQXOf92hGcyP5M03qXbPDL
# D3WXjnBdVXhaB0Ih41TqYbkTwTMxGGC13lB10UsnNO03yzrIkGOMywJJ564dtpHX
# TzchYDLO9Vg/p6Y9fW95jC+AbCZasStzmkOwxWiIK5hBhxoV2iAdiLsTtSMNO1P7
# eyMUE9P+LaPgTz57cXQ+QpD3126T/QKmAzfgPXu7AHDCmaz4/boc0sOQLa5UVRNN
# KH506pqjeOLRaAcTdEubTDiriw==
# =UYr7
# -----END PGP SIGNATURE-----
# gpg: Signature made Sun 25 May 2025 09:26:09 EDT
# gpg:                using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5
# gpg:                issuer "marcandre.lur...@redhat.com"
# gpg: Good signature from "Marc-André Lureau <marcandre.lur...@redhat.com>" 
[full]
# gpg:                 aka "Marc-André Lureau <marcandre.lur...@gmail.com>" 
[full]
# Primary key fingerprint: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5

* tag 'audio-pull-request' of https://gitlab.com/marcandre.lureau/qemu:
  audio: Reset rate control when adding bytes
  alsaaudio: Set try-poll to false by default
  audio: add float sample endianness converters
  audio/mixeng: remove unnecessary pointer type casts
  hw/audio/asc: replace g_malloc0() with g_malloc()
  hw/audio/asc: fix SIGSEGV in asc_realize()
  audio: fix size calculation in AUD_get_buffer_size_out()
  audio: fix SIGSEGV in AUD_get_buffer_size_out()
  tests/functional: use 'none' audio driver for q800 tests

Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>


Compare: https://github.com/qemu/qemu/compare/9a648844a03d...3c5a5e213e5f

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications

Reply via email to