[Spice-devel] qxl and page flip

Gerd Hoffmann kraxel at redhat.com
Wed Oct 4 10:31:41 UTC 2017


  Hi,

qxl kms driver has been converted over to atomic mode setting recently.
 Caused some problems, most are fixed meanwhile.

See https://bugzilla.kernel.org/show_bug.cgi?id=196777

One pretty fundamental issue sticks though:  The qxl virtual hardware 
doesn't support pageflip (see comment 11 in the bug linked above). 
Which is a problem for wayland because it is a heavy pageflip user.

The kernel driver has to go though a destroy-primary-surface + create-
primary-surface cycle, which causes visible flicker because spice
client goes into "waiting for display ..." mode temporarily.

So, the options I see are:

 (1) Declare qxl deprecated, promote virtio-vga instead.

 (2) Pimp the qxl hardware, add page-flip support.  Requires changes
     in spice-server (due to lazy rendering), qemu qxl emulation and
     guest kernel driver.  Should be transparent to spice-client and 
     guest userspace (aka xorg qxl driver).

 (3) Paper over the issue in the spice client, i.e. only go into 
     "waiting for display ..." mode in case the destroy-primary-
     surface message isn't followed by a create-primary-surface
     message within a short timeframe.

Comments?  Other suggestions?

cheers,
  Gerd



More information about the Spice-devel mailing list