Announcement

Collapse
No announcement yet.

VirtIO DRM Window Server Support: Letting Guest VMs Interface With Host's Compositor

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • VirtIO DRM Window Server Support: Letting Guest VMs Interface With Host's Compositor

    Phoronix: VirtIO DRM Window Server Support: Letting Guest VMs Interface With Host's Compositor

    Collabora's Tomeu Vizoso is working on a interesting VirtIO DRM patch that lets clients running within a virtual machine communicate with a display compositor of the host system...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    so, uhh - I don't understand - why?

    what is the benefit of doing this? (i.e. does it allow something running in a VM to access raw GPU performance?)

    Comment


    • #3
      Originally posted by boxie View Post
      so, uhh - I don't understand - why?

      what is the benefit of doing this? (i.e. does it allow something running in a VM to access raw GPU performance?)
      My guess is, if you have VM with Linux and a wayland Desktop with this it will render directly into a host buffer instead of using QXL, VNC, SPICE, etc. and the host compositor can handle how it gets rendered.

      I also assume in the future would be possible to pass each windows from the VM compositor to the host compositor as a series of buffers, so like on Mac VM Fusion you can have applications from the VM running as a window in the host compositor seamlessly.

      Comment


      • #4
        Originally posted by boxie View Post
        so, uhh - I don't understand - why?
        what is the benefit of doing this? (i.e. does it allow something running in a VM to access raw GPU performance?)
        Would be cool if you for example could start up a headless Windows VM and then render some Windows application that doesn't work well in Wine such as Photoshop in a window on the host WM, that would make it feel native even though it's actually inside a VM.

        Comment


        • #5
          Just so I understand, the Guest OS still doesn't have access to the Host GPU unless you use something like VirtualGL, right?
          Last edited by CuriousTommy; 14 December 2017, 01:28 PM.

          Comment


          • #6
            Originally posted by johanb View Post

            Would be cool if you for example could start up a headless Windows VM and then render some Windows application that doesn't work well in Wine such as Photoshop in a window on the host WM, that would make it feel native even though it's actually inside a VM.
            I haven't done it myself, but I think that you can do what you describe using the "RemoteApps" feature of Window Server’s Remote Desktop Services.

            You can read here how, a few years ago, someone described doing something similar to what you describe, but with Windows Server 2012 running as a VM on a remote Linux server.



            Comment


            • #7
              Originally posted by johanb View Post
              Would be cool if you for example could start up a headless Windows VM and then render some Windows application that doesn't work well in Wine such as Photoshop in a window on the host WM, that would make it feel native even though it's actually inside a VM.
              Yeah it would, but there would be a ton of magic involved.

              This can map Linux applications running in the guest to the Linux compositor running in the host, and this is great and all, but Windows applications aren't designed to interface with Linux compositors, so they won't work.

              Unless someone replaces the whole Windows GUI components with a dedicated compatibility layer.

              MORE LAYERS OF REDIRECTION FOR THE ABSTRACTION GOD!!!!

              Comment


              • #8
                Originally posted by starshipeleven View Post
                Yeah it would, but there would be a ton of magic involved.
                If johanb envisions incorporating the methods described in the article, then sure, that would probably involve a ton of magic (although maybe less so using an alternative like GVT-g).

                But as for using something like RemoteApp (as described here or similar) to simply display on a Linux desktop apps that are running on Windows Server, I'm not sure that I see the need for magic. What am I missing?

                Comment


                • #9
                  Originally posted by GizmoChicken View Post
                  What am I missing?
                  I guess he has some special needs he isn't mentioning (also why he isn't running the server in a local VM), because most non-3D-heavy applications run fine in a normal local VM with Virtualbox or VMWare, also available in Seamless or Unity mode (respectively) that integrate the application in the host GUI (while it is still technically inside a VM so it cannot see the host's folders.

                  AFAIK (I never really deployed thin clients or similar solutions, so this is my own opinion) RemoteApp is "just" a per-Application RDP session, and RDP has always been superior to most FOSS remote desktop technology, but I don't know how well it runs or if it is comparable to running it in a VM.

                  I'll also leave here that (probably dodgy and probably illegally sold) Winserver OEM licenses can be found for 600$, which isn't exactly cheap. I know pretty much everyone uses KMS loaders to "license" their Windows, but hey.
                  Last edited by starshipeleven; 14 December 2017, 06:09 PM.

                  Comment


                  • #10
                    Originally posted by starshipeleven View Post
                    AFAIK (I never really deployed thin clients or similar solutions, so this is my own opinion) RemoteApp is "just" a per-Application RDP session, and RDP has always been superior to most FOSS remote desktop technology, but I don't know how well it runs or if it is comparable to running it in a VM.
                    Yep, I think "per-Application RDP session" is a good way to describe what RemoteApp provides.

                    I used a commercial remote desktop solution (maintained by someone else, so I don't know the details) for a while when working with a client. Since I needed to restrict all the work that I did for that client to one desktop, by and large, it made more sense for me to display the entire desktop in a single window on my Linux laptop. But for kicks, I would occasionally display Outlook in its own window, and that seemed to work pretty well. Given that I wasn’t doing anything that required intense graphics acceleration, I don’t know whether or not acceleration was even available.

                    Originally posted by starshipeleven View Post
                    I'll also leave here that (probably dodgy and probably illegally sold) Winserver OEM licenses can be found for 600$, which isn't exactly cheap. I know pretty much everyone uses KMS loaders to "license" their Windows, but hey.
                    I don’t know whether it was legal, but at one time, a hack (changing some registry settings) allowed using Windows 7 as a RemoteApp host. Also at one time, the “trial period” for the official Windows Server 2012 ISO (downloadable from the Microsoft website) was pretty long (not sure about Windows Server 2016). So a hobbyist could reinstall an official copy of Windows Server every so often, if just experimenting and testing things out.

                    And for the ethically challenged, there are, as you mentioned, ways to trick Windows Server 2012 into loading and updating without a license. But of course, such an approach would most likely be illegal, and potentially a security risk, and so I definitely advise against using it.


                    Comment

                    Working...
                    X