[Spice-devel] intel vgpu & spice & cursor

Frediano Ziglio fziglio at redhat.com
Mon Oct 16 07:02:39 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
> 

Yes, (a) would be better. This will allow client mouse to be supported.
Also avoid creation and rendering of a new buffer.
About hotspot the information can be provided using the agent.

Frediano


More information about the Spice-devel mailing list