[Spice-devel] [PATCH spice-gtk v3] main: Send monitor config only when it changes

Christophe Fergeau cfergeau at redhat.com
Thu Oct 13 15:40:45 UTC 2016


On Tue, Oct 11, 2016 at 04:56:42PM +0200, Pavel Grunt wrote:
> On Tue, 2016-10-11 at 10:36 -0400, Marc-André Lureau wrote:
> > > 
> > > Flickering is PRIMARY_DESTROY & PRIMARY_CREATE
> > 
> > Is there a way to prevent DESTROY & CREATE of same size on
> > server/guest side? why not?
> 
> The problem is that it is not the same size, since client requests 401
> and driver creates 400.
> 
> Maybe it would be possible to delay the DESTROY to the moment the new
> surface is created and send it, as you said, only if there is a
> change.

For what it's worth, this PRIMARY_DESTROY/PRIMARY_CREATE seems to be
more of a side-effect of how mutter/clutter do the resizing (using
drmModeRmFB/drmModeAddFB) than being related to that size difference.

Destroying the framebuffer used kernel-side causes the subsequent
drmModeSetCrtc call to trigger a full modeset without checking if it's
the same as the current mode. This also causes qxl_crtc_mode_set to emit
a DESTROY/CREATE pair as the newly created framebuffer is not marked as
being the primary one (not familiar enough with drm/clutter to know
whether that's a reasonable behaviour or not).

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20161013/b833e9b1/attachment.sig>


More information about the Spice-devel mailing list