[Spice-devel] intel vgpu & spice & cursor

Gerd Hoffmann kraxel at redhat.com
Thu Oct 12 09:13:18 UTC 2017


  Hi,

We need to figure a way to handle intel vgpu with spice, especially how
to handle the cursor.

What we'll get from the vgpu is two dma-bufs:  One for the primary
plane (aka guest display), one for the cursor plane.  We also get the
position of the cursor.  We do *not* get the hotspot of the cursor.

The latter implies client mouse mode isn't going to work, so we need
some other way to render the cursor.  I see basically two options:

  (a) Update spice-server API (and probably spice protocol too),
      add a call (or two) to pass on cursor dmabuf and position.

  (b) Create a new dma-buf in qemu, render guest display with cursor
      to it, pass *that* to spice-server.

I think (a) would be the better choice.  It gives more flexibility to
the spice client, for example it would be possible to create a drm-
based spice client which simply maps the guest planes to a host
scanout.  I think it'll also have less overhead as qemu has no need to
touch the dma-bufs then, it just passes on the fds.

But option (b) wouldn't be a big deal either.  qemu must handle that
anyway, for the gtk and sdl UIs, so supporting it for spice too would
be easy.

Comments?

cheers,
  Gerd



More information about the Spice-devel mailing list