Announcement

Collapse
No announcement yet.

Getting Experimental Vulkan Within QEMU VMs Using Linux 5.16+ Paired With Mesa's Venus

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

  • #11
    this is incredibly exciting for me! I have been following his git for a while, the potential use cases for this are astronomical.

    Originally posted by ehansin View Post
    I have been thinking it would be great to have a tiling window manager (e.g. Sway) based Linux installation, and then just run Windows virtualized on one of the virtual desktops in the WM. This would allow me to do what I need to do for work stuff or anything else that is Windows only, while still having Linux as a primary desktop. Does anyone know how close we are to having something like this work with pretty decent Windows guest performance? I do run Windows guests with Virtual Box on Windows hosts (needed as a dedicated install for AD access.) Works okay, but clearly some issues. Anyway, the Linux host running a Windows guest with something more "native" (and lightweight) to Linux than Virtual Box would be cool. Is anyone in the know if this something that may continue to improve going forward? I assume the more pass-through stuff that happens the better. Thanks!
    If you have a second GPU, or an intel gpu with gvt-f support, you ca already do it using virtio-gpu or lookinglass. other than that, pretty far away still. but in theory the only two+1 major roadblocks are Windows support for venus, and d3d10umd support for zink (and then actually getting ink to work properly on windows). right now I would reccomen using vmware, as it has the best virtualized gpu for windows.

    Originally posted by landeel View Post
    Vulkan / dxvk on Windows guests would be a huge game changer.
    It would indeed but d3d10umd and zink are also necessary as DXVK does not directly replace dxgi, and is incompatible with it, and some apps DO talk directly to it

    Comment


    • #12
      Originally posted by rabcor View Post
      This is very cool, but meaningless to the average user until it's compatible with windows guests.
      Not really, I think people emulating windows would be in the minority for this use case. but it would open the door a lot. lots of people visualize lots of things. not just windows, and good graphics in them is really nice.

      Originally posted by Chewi View Post
      Could this be combined with Zink? Would it maybe provide better performance than GL passthrough?
      Yes. assuming zink works fine with it, which it will some day, but when is that day? I do not know.

      Comment


      • #13
        Originally posted by ehansin View Post
        I have been thinking it would be great to have a tiling window manager (e.g. Sway) based Linux installation, and then just run Windows virtualized on one of the virtual desktops in the WM. This would allow me to do what I need to do for work stuff or anything else that is Windows only, while still having Linux as a primary desktop. Does anyone know how close we are to having something like this work with pretty decent Windows guest performance? I do run Windows guests with Virtual Box on Windows hosts (needed as a dedicated install for AD access.) Works okay, but clearly some issues. Anyway, the Linux host running a Windows guest with something more "native" (and lightweight) to Linux than Virtual Box would be cool. Is anyone in the know if this something that may continue to improve going forward? I assume the more pass-through stuff that happens the better. Thanks!
        What you want has been available for many years in the form of qemu in combination with KVM. VirtualBox is far from the state of the art. For example, their virtual networking stack barely pushes 30MB/s between host and guest, which is absolutely pathetic, while with qemu the only limit is memory bandwidth (>10GB/s per core). Actually it's zero-copy so the limit is with the applications reading/writing to the network. Same thing with storage. Disk image or real device doesn't matter much for running a single VM, if you have a fast NVMe you'll get your 2-3GB/s or whatever.

        If you need fast 3D graphics you're either lucky and have an Intel CPU that's a couple generations old and supports GVT-g (virtualized GPU), or you'll two separate GPUs and pass one of them to dhe Windows VM. It'll then use the normal driver and work just as if it was plugged into a real machine. This requires a working IOMMU, but those have been standard on desktops for a while. Even on my laptop I can do this and I actually get *better* (like 15-20% better) than native performance because I can increate the power limit in the VM, but not natively... Setting it up isn't too difficult if you have the hardware, either. Searsch for "VFIO" for more details. With this setup you can use a dedicated monitor just for the VM. It'll even show the bootup sequence and everything. That's what I do, too, for latency reasons (games). Otherwise use LookingGlass.

        If you don't need fast 3D graphics, but still want a reasonably smooth desktop there is partial 2D acceleration with qxl if you install the Windows driver. Certainly good enough for normal work, web browsing and the like. SPICE works better for output than the native qemu GUI, which is limited to 30FPS unless you patch it manually for some stupid reason. If you want something easy to set up with a GUI, there's virt-manager, which shouldn't be too overwhelming if you're familiar with VirtualBox and also tends to come with a SPICE client.

        Comment


        • #14
          What we need is a Windows 95/98 accelerated driver for Glide/Gl/DirectX 1-9.0. Then we can accurately emulate most old PCs/Games. ReactOS is already working on the Windows NT/2000/XP/Vista/7/8/10/11 Problem.

          Comment


          • #15
            Originally posted by Quackdoc View Post
            If you have a second GPU, or an intel gpu with gvt-f support, you ca already do it using virtio-gpu or lookinglass. other than that, pretty far away still. but in theory the only two+1 major roadblocks are Windows support for venus, and d3d10umd support for zink (and then actually getting ink to work properly on windows). right now I would reccomen using vmware, as it has the best virtualized gpu for windows.
            Thanks for the heads up - looks like I have some stuff to look into!

            Comment


            • #16
              Originally posted by binarybanana View Post
              What you want has been available for many years in the form of qemu in combination with KVM. VirtualBox is far from the state of the art. For example, their virtual networking stack barely pushes 30MB/s between host and guest, which is absolutely pathetic, while with qemu the only limit is memory bandwidth (>10GB/s per core). Actually it's zero-copy so the limit is with the applications reading/writing to the network. Same thing with storage. Disk image or real device doesn't matter much for running a single VM, if you have a fast NVMe you'll get your 2-3GB/s or whatever.

              If you need fast 3D graphics you're either lucky and have an Intel CPU that's a couple generations old and supports GVT-g (virtualized GPU), or you'll two separate GPUs and pass one of them to dhe Windows VM. It'll then use the normal driver and work just as if it was plugged into a real machine. This requires a working IOMMU, but those have been standard on desktops for a while. Even on my laptop I can do this and I actually get *better* (like 15-20% better) than native performance because I can increate the power limit in the VM, but not natively... Setting it up isn't too difficult if you have the hardware, either. Searsch for "VFIO" for more details. With this setup you can use a dedicated monitor just for the VM. It'll even show the bootup sequence and everything. That's what I do, too, for latency reasons (games). Otherwise use LookingGlass.

              If you don't need fast 3D graphics, but still want a reasonably smooth desktop there is partial 2D acceleration with qxl if you install the Windows driver. Certainly good enough for normal work, web browsing and the like. SPICE works better for output than the native qemu GUI, which is limited to 30FPS unless you patch it manually for some stupid reason. If you want something easy to set up with a GUI, there's virt-manager, which shouldn't be too overwhelming if you're familiar with VirtualBox and also tends to come with a SPICE client.
              Thank you as well - more homework to do, and mean that in a good way!

              Comment

              Working...
              X