> Subject: Re: [PATCH v6 00/10] Support virtio-gpu DRM native context
> 
> "Kim, Dongwon" <dongwon....@intel.com> writes:
> 
> > Hi,
> >
> > The commit below could change the timing of drawing by making the
> > drawing done at refresh cycle instead of via drawing event. So it
> > looks like either dmabuf or client's framebuffer is being written and
> > read at the same time. Hey, can you describe how the corruption looks
> > like? Is it just garbage image with random noise or the actual frame with 
> > some
> defects like tearing...?
> 
> The terminal gets mirrored upside down and the mouse creates damage as it
> moves about.

I am wondering if this is reproducible without virgl and drm native context 
(like w/
sw rasterizer on the guest) as well. 

> 
> >
> >> Subject: Re: [PATCH v6 00/10] Support virtio-gpu DRM native context
> >>
> >> Dmitry Osipenko <dmitry.osipe...@collabora.com> writes:
> >>
> >> > On 1/27/25 19:17, Alex Bennée wrote:
> >> > ...
> >> >> I'm still seeing corruption with -display gtk,gl=on on my x86
> >> >> system BTW. I would like to understand if that is a problem with
> >> >> QEMU, GTK or something else in the stack before we merge.
> >> >
> >> > I reproduced the display mirroring/corruption issue and bisected it
> >> > to the following commit. The problem only happens when QEMU/GTK
> >> > uses Wayland display directly, while previously I was running QEMU
> >> > with XWayland that doesn't have the problem. Why this change breaks
> >> > dmabuf displaying with Wayland/GTK is unclear.
> >>
> >> Ahh that makes sense - I obviously forgot to mention I'm running
> >> sway/wayland across both machines.
> >>
> >> > Reverting commit fixes the bug.
> >> >
> >> > +Dongwon Kim +Vivek Kasireddy
> >> >
> >> > commit 77bf310084dad38b3a2badf01766c659056f1cf2
> >> > Author: Dongwon Kim <dongwon....@intel.com>
> >> > Date:   Fri Apr 26 15:50:59 2024 -0700
> >> >
> >> >     ui/gtk: Draw guest frame at refresh cycle
> >> >
> >> >     Draw routine needs to be manually invoked in the next refresh
> >> >     if there is a scanout blob from the guest. This is to prevent
> >> >     a situation where there is a scheduled draw event but it won't
> >> >     happen bacause the window is currently in inactive state
> >> >     (minimized or tabified). If draw is not done for a long time,
> >> >     gl_block timeout and/or fence timeout (on the guest) will happen
> >> >     eventually.
> >> >
> >> >     v2: Use gd_gl_area_draw(vc) in gtk-gl-area.c
> >> >
> >> >     Suggested-by: Vivek Kasireddy <vivek.kasire...@intel.com>
> >> >     Cc: Gerd Hoffmann <kra...@redhat.com>
> >> >     Cc: Marc-André Lureau <marcandre.lur...@redhat.com>
> >> >     Cc: Daniel P. Berrangé <berra...@redhat.com>
> >> >     Signed-off-by: Dongwon Kim <dongwon....@intel.com>
> >> >     Acked-by: Marc-André Lureau <marcandre.lur...@redhat.com>
> >> >     Message-Id: <20240426225059.3871283-1-dongwon....@intel.com>
> >>
> >>
> >> Maybe a race on:
> >>
> >>     QemuDmaBuf *dmabuf = vc->gfx.guest_fb.dmabuf; ?
> >>
> >> --
> >> Alex Bennée
> >> Virtualisation Tech Lead @ Linaro
> 
> --
> Alex Bennée
> Virtualisation Tech Lead @ Linaro

Reply via email to