On Wed, Mar 25, 2020 at 06:16:47PM +0000, David Geise wrote:
> Hi,
> 
> I've been using an open-source project that's currently in beta called
> Looking Glass (https://looking-glass.hostfission.com/) to achieve high-
> performance VM graphics in a standalone workstation scenario where the
> guest VM and viewer are both on the host. I use it to virtualize my
> windows development environment.  I need it to do work in the Unreal
> Engine, which requires full GPU acceleration.  My understanding is that
> currently GPU isn't supported directly in the virt-manager/virt-viewer
> environment.  I know the cloud is the big thing these days but this
> windows vm-on-host scenario is an increasingly common use-case and it
> seems like there's a great opportunity to improve virt-viewer/virt-manager
> here.  I expect if Linux were to better support a high-performance windows+
> gpu on linux scenario, this should improve consumer pc uptake of linux.

This isn't my area of expertise, but my understanding was/is that the
virtio-gpu device and spice are intended to fill the GPU accelerated
rendering scenario. IIUC this will include shared memory buffers between
guest and host QEMU and host virt-viewer (well spice-gtk), to avoid memory
copies in the local scenario.

I think the main difference is probably the guest focus - virtio-gpu has
targetted OpenGL accleration IIUC with plans for Vulkan too, which are
the common technologies for Linux, where as looking glass is presuambly
focusing on Windows rendering, though honestly this is mostly guesswork
on my part.

> With all that being said, I'd like to ask the virt-viewer developers:
> 
> 1. Is there any interest in developing a low-latency 'standalone' transport
> for virt-viewer?  Is any such work contemplated or underway?  Or is some
> alternative (virtio-gpu comes to mind) being worked on that is an even
> better alternative?

Yeah, my hope/expectation was that virtio-gpu / spice-gtk are going to solve
this problem. From the virt-viewer side, we really leave all the real work
to the spice-gtk client widget. virt-viewer just adds the window management
on top, so we don't really get involved in low level stuff that's performance
critical ourselves.

> 2. Is there truly an intrinsic opposition to, say, a proposed Gtk-shm
> widget & corresponding driver being added to the virt viewer project?
> Would it be possible / non-problematic to develop a platform-neutral
> solution to optimize latency for this local vm scenario?

As you know virt-viewer/virt-manager currently have VNC and SPICE support,
with majority of important work taking place in context of SPICE. It is
certainly possible to add further backends, but that will obviously have a
cost associated with it. Assuming the development work taking place in QEMU
and spice to support accelerated graphics is going to deliver a viable
solution, then I'd not be too enthusiastic about adding an alternative
backend that tries to solve the same problem. I think is more compelling to
users to have a single solution that can deliver everything they need rather
than having to decide between many choices.

> I'm contemplating whether to try to fork virt-viewer and do a shm transport
> integration myself or if I should contribute to the looking-glass project
> instead.  Would the virt-developers like to participate or take the lead
> in this?  Would the repository owners be open to a pull request to such a
> contribution?  Would RedHat sign such a driver?  I expect there might be
> strategic / political implications at play here.

I think perhaps it might be worth taking your message to the spice mailing
list for feedback, as they can probably give a better viewpoint on the real
technical details for how looking-glass project compares to the work that
is being done for virtio-gpu / spice than I can, and thus whether there's
a need for both solutions or better to focus on one only.

> For what it's worth, I've got 25 years of multi-language experience, mostly
> heavy C++, mostly on windows.  My C / DDK experience is rusty (like 15 years
> since I've coded in raw C, even longer since unix!) but I might be able to
> contribute something worthwhile.

One thing that's true for all open source projects is that there is not
enough developer time todo everything they want, so whether its working
on looking-glass vs spice/virtio-gpu, I'm sure there's useful work that
can be contributed. 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

Reply via email to