[Spice-devel] [spice-gtk PATCH v2] spice-widget: init egl only after first gl_scanout

Jonathon Jongsma jjongsma at redhat.com
Wed Jul 27 16:32:33 UTC 2016


On Wed, 2016-07-27 at 12:29 -0400, Marc-André Lureau wrote:
> Hi
> 
> ----- Original Message -----
> > 
> > 
> > By the way, this egl initialization in the realize handler is
> > actually
> > breaking spice-gtk with newer gtk+ (specifically gtk+ master). The
> > cairo widget stops redrawing until the widget gets resized, and
> > then it
> > freezes again until the next resize. When I commented out the egl
> > init,
> > the issue disappeared. This patch also fixes this issue.
> > 
> 
> Hmm, do you know which commit in gtk+ did that? Is it because gtk+
> upstream is also using a GL rendering now?
> 
> It's probably not going to solve it all by just moving the egl init
> until gl-scanout, since spice/spice-gtk has the ability to switch
> between gl/scanout and non-gl/canvas at will (although that will not
> happen anymore with some improvements in qemu, "spice/gl: render
> DisplaySurface via opengl" not yet upstream).


This is the commit in gtk+ that introduced the regression: 
https://git.gnome.org/browse/gtk+/commit/?id=2c7b21718f18ab743cd79784ae
28cad582f58503

I don't quite understand the mechanism for the failure yet, I just know
that somehow the egl initialization in realize, combined with those
changes in gtk+ result in a broken widget.


More information about the Spice-devel mailing list