[Spice-devel] intel vgpu & spice & cursor

Marc-André Lureau marcandre.lureau at redhat.com
Thu Oct 12 09:42:04 UTC 2017


Hi

----- Original Message -----
> 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:
> 

It's a shame not to have client mouse mode support. I wonder if we could modify the intel driver to pass along the cursor details, like virgl does (see drmModeSetCursor2).

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

Spice has SPICE_MSG_DISPLAY_GL_SCANOUT_UNIX to pass a dmabuf to client, it could be extended as needed or a new similar message could be added.

> 
> 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?



More information about the Spice-devel mailing list