[Spice-devel] How does SPICE display the desktop data processed by Nvidia vGPU?

Frediano Ziglio freddy77 at gmail.com
Sat Jul 8 09:35:55 UTC 2023


Il giorno sab 8 lug 2023 alle ore 10:21 人宗道首 <928003896 at qq.com> ha scritto:
>
> Hi :
> I am a graduate student of Dalian University of Technology
>
> We have a project to accomplish a remote-desk solution with Nvidia vgpu.
> I want to know how SPICE can display virtual desktop with vGPU.
>
> Do you need to modify the QXL driver and device? The open source code of QXL is hard to understand. Is there a detailed Technical documentation?
>
> Or can SPICE - Streaming Agent be used to replace the functionality of QXL? Do we need to make any changes?
>
> I hope you can give me some help. Thank you very much.
>
>

Hi,
  the question about QXL means that there's a bit of confusion about
the technology used.

Nvidia vGPU allows you to give a part of the card to the guest that
will see this "part" as a graphic card.
QXL is a virtual implementation of a different graphic card (yes, it
can be confusing that the graphic APIs of SPICE are prefixed
spice_qxl_).
So, nothing forbids that on the guest you can have 2 graphic cards
(one Nvidia vGPU and another QXL) and this is usually useful during
the setup of pass-through cards but working on QXL card won't improve
Nvidia vGPU support.
The streaming agent was designed for such cases, to allow the SPICE
server to "see" the guest GPU. This as the GPU control is mainly (if
not completely) delegated to the guest and Qemu/SPICE has not much
control on it (like getting frames or even less encode them).

Regards,
  Frediano


More information about the Spice-devel mailing list