[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