[Spice-devel] Helping with development...
Frediano Ziglio
freddy77 at gmail.com
Sat Apr 10 15:21:17 UTC 2021
Il giorno mer 7 apr 2021 alle ore 20:49 Bob Britton
<bob at robertbritton.com> ha scritto:
>
> Hi Spice team,
>
> Thank you for all your hard work creating Spice.
>
> I'm running a company where I provide virtual desktops to my
> customers. Most of my customers want their virtual desktops to have
> hardware GPU acceleration for smooth video playback, games, and such. So
> the experience would be much more like being on a native machine.
>
> I've looked at many different options out there, and there really
> isn't one that fits the bill.
>
> I have some questions for you all on how I can put my resources into
> helping spice add hardware encode/decode to it's streaming.
>
> From what I've read, it seems that it's possible to add a plugin such
> as virgil to allow for 3d acceleration. While that project is aiming at
> creating a full virtual 3d graphics device, is it possible or maybe even
> easier to create a plugin that does hardware encode/decode on the host
> gpu(s)?
>
> And that leads me to my next question, would that be the best place to
> add hardware acceleration? Or should the focus be elsewhere?
>
> I've played with Parsec quite a bit, and it's streaming abilities are
> amazing, allowing for 3d games to be played remotely with very little
> latency.
>
> Obviously nothing here is simple, but I'd like to get my developer
> resources aimed in the right place, and any thoughts/feedback from your
> team would be greatly appreciated.
>
> Thanks in advance, and I look forward to having my team help with the
> project.
>
> Best,
>
> - Bob
>
Hi Bob,
that would be really great.
I agree, nothing here is simple.
One question I would ask first is about the kind of desktop/guests you need.
The reason is that mainly Virgil requires guest drivers to support 3D.
If you are planning to support Windows
one thing to develop is the GPU driver for Windows. At the moment
there isn't one and it's not easy to write
one so maybe you won't want to go that way.
Second question is about scalability and performance you need.
If you need high end performance and many VM maybe you want to point
to Nvidia H/W support or
Intel GVT-g support. First offers high performance (and cost) and
relative good scalability (like 4/8 VMs
on a single host), second less scalability and performance but cheaper
(basically most Intel GPU will
work). All these solutions are better remoted from the client and
there are probably a lot of already
made software doing that other than SPICE. If you want to do this with
SPICE the route is extending
the streaming agent on SPICE.
Said that you don't want Windows (or you are willing to write Virgil
driver for Windows... that would
be really appreciated!) but just Linux desktop and you prefer
scalability/cost at the expense of performance
I would say SPICE is a good solution. Qemu uses virgl-renderer for 3D
from the guests and passes to
SPICE the "frames" ready (almost!) to be processed and streamed. Here
would come the H/W encode/decode.
Regards,
Frediano
More information about the Spice-devel
mailing list