[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