[Spice-devel] qxl and page flip

Gerd Hoffmann kraxel at redhat.com
Wed Oct 4 11:38:13 UTC 2017


  Hi,

> > 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).

> I don't think that supporting page flipping in QXL would be hard.

Yes, it shouldn't be difficult.

But still requires new versions on both guest and host side.
And these new versions will have virtio-vga support too.

Also note that wayland will not use any qxl 2d accel operations.  Same
is true for any opengl compositors like gnome-shell when running on
xorg.  So performance-wise it should not make a big difference whenever
you are using qxl or virtio-vga (without virgl), it's all llvmpipe
software opengl rendering in both cases.

So, is it worth updating qxl?
Or should we focus on virtio-vga instead?

> Would just requires to support calling create surface having a
> surface and detecting that only the pointer changes.

Either that, or an explicit QXL_SURF_FLAG_PAGEFLIP instead of the
detection.

But when touching the qxl virtual virtual hardware anyway we might
consider to deprecate the concept of a "primary surface" altogether and
just allow mapping normal surfaces to output heads instead.  Which
would be alot closer to how physical hardware works today and should be
more future-proof.  Of course that would be a bigger change and
probably requires spice-protocol changes too.

cheers,
  Gerd



More information about the Spice-devel mailing list