Announcement

Collapse
No announcement yet.

KVM Virtualization With Linux 6.9 Brings More Optimizations For Intel & AMD

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

  • KVM Virtualization With Linux 6.9 Brings More Optimizations For Intel & AMD

    Phoronix: KVM Virtualization With Linux 6.9 Brings More Optimizations For Intel & AMD

    The Kernel-based Virtual Machine changes for Linux 6.9 continue to enhance the capabilities of the open-source Linux virtualization software stack...

    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
    This is why I use a rolling distro with the most up to date kernel - Linux is constantly improving in both features and performance. While Apple and Microsoft remain fairly stagnant, with most new features simply window dressing and performance mundane.

    And now that I've switched to CachyOS I have the most optimized kernel and software, with transparent and effortless support for OpenZFS. And with a passthrough KVM VM for the few programs that don't function well under Linux I can run Windows with a simple click of the mouse, at near native speed. In fact in benchmarks comparing my bare metal Windows 10 installation (which I only run every few months to update) with Linux the performance difference is a mere 3%, which is undetectable in real world use.

    Comment


    • #3
      Originally posted by muncrief View Post
      This is why I use a rolling distro with the most up to date kernel - Linux is constantly improving in both features and performance. While Apple and Microsoft remain fairly stagnant, with most new features simply window dressing and performance mundane.

      And now that I've switched to CachyOS I have the most optimized kernel and software, with transparent and effortless support for OpenZFS. And with a passthrough KVM VM for the few programs that don't function well under Linux I can run Windows with a simple click of the mouse, at near native speed. In fact in benchmarks comparing my bare metal Windows 10 installation (which I only run every few months to update) with Linux the performance difference is a mere 3%, which is undetectable in real world use.
      I love and use Linux but I wish Linux has more GUI debugging tools like Visual Studio , even though Nvidia provide Nsight Tools for Linux, I can't install it in most distros to debug GPU (sorry Renderdoc is not enough), these tools are pretty important in big companies who build Desktop Apps and Games even Apple has improved GPU debugging by a lot. things like high hz mouse, high resolution, high hz monitor kinda sucks for now in Linux which is becoming pretty common. Linux Distros will move slower too when it will become proper platform just watch Android/iOS for reference. I use Wayland but pushing for things which are broken is pretty sad https://github.com/libsdl-org/SDL/pull/9345, wayland protocols take a lot of time for even basic stuffs

      Comment


      • #4
        virt-manager with QEMU/KVM is super comfy, only complaint I have is that GPU acceleration doesn't seem to work with windows guests unless I do GPU passthrough. I heard that some people were working on a GPU driver for windows guests but I'm not sure if that went anywhere or what the current state of it is

        Comment


        • #5
          Originally posted by Abacus123 View Post
          I heard that some people were working on a GPU driver for windows guests but I'm not sure if that went anywhere or what the current state of it is
          Hello! This series of changes spanning across multiple repositories introduce support for 3d accelerated virtiogpu windows guests. Wglgears window is rendered with wgl on virgl and window below i...


          I'm only subscribed, I don't follow the activity or try it. Still seems to be actively worked on.

          Comment


          • #6
            Originally posted by Abacus123 View Post
            virt-manager with QEMU/KVM is super comfy, only complaint I have is that GPU acceleration doesn't seem to work with windows guests unless I do GPU passthrough. I heard that some people were working on a GPU driver for windows guests but I'm not sure if that went anywhere or what the current state of it is
            Yes, that's the only major ongoing problem with Windows virtualization that people without a second GPU encounter. It seems there was an initial, very limited, proof of concept Windows Virgil3D driver developed many years ago, and then after that nothing. So the only way I've found to run any GPU intensive Windows software is to plan for it, and purchase a motherboard with enough slots and IOMMU groups, and a second GPU, for full passthrough. There are also some other options as described at "https://wiki.archlinux.org/title/QEMU/Guest_graphics_acceleration", but nothing yet fully developed.

            However I've been running KVM Windows VMs for quite awhile now, and have been through 3 motherboards during that time, and always make sure they have enough slots and IOMMU groups so I can do full passthrough with a second GPU. And now I even have a dedicated NVME slot, and additional USB card and Blu-ray drive, to run my primary Windows VM mostly with its own separate hardware.

            And by the way, with the exception of the GPU, when the VM isn't running the other additional hardware is available under Linux because Qemu/KVM dynamically binds and unbinds it when running and exiting the VM. However there have been various instructions on how to do dynamic GPU binding over the years, but I was never successful with them. It seems Nvidia GPUs are better for dynamic binding, but I won't purchase any Nvidia products for a variety of reasons.

            I haven't tried for a few years though, and things may have improved. If I have enough time I might try it again, but for now I'm happy using my RX 580 with Linux and RX 6600 with the Windows VM. Also there are a lot of very knowledgeable and experienced people here on Phoronix and hopefully if I'm wrong they'll chime in and educate us.

            Comment


            • #7
              Originally posted by Abacus123 View Post
              virt-manager with QEMU/KVM is super comfy
              My problem with it is that I've been burned by developers of apps like Inkscape trusting GTK+ 2.x to be a cross-desktop toolkit as GTK 3 and 4 progressively make it more and more difficult for GTK apps to feel native on a KDE desktop... especially when you've got multiple monitors and fullscreening a video player on one monitor suspends compositing for all of them, turning the context menu drop shadows KDE's Breeze them is powerless to remove into giant black borders because it seems GTK will switch into ARGB visuals at any time, but will only switch away from them at program start.

              (Which means that, if I toggle compositing on temporarily to get vsync to work for a game without the massive performance hit of forcing full composition pipline... then when I toggle it back off to prevent my desktop from starting to glitch after a week or so of uptime, my GTK apps all need to be restarted if I don't want big black borders on their menus... yes, I run nVidia. Let me know when AMD has something in the same performance tier as the RTX 3060 12GiB, at the same price point, and the curl http://whatever/ | firejail [...] bash` install flow for CUDA things like Easy Diffusion not only works, but works reliably on it. I had to upgrade my CPU just to get Kohya SS to work because their bundled Tensorflow requires AVX and it was too difficult to swap in a new build and I'm still paying back my in-case-of-surprise-hardware-failure fund.)

              EDIT: Oh, funny thing. When I forget and apps start to glitch, it's usually the remaining GTK apps I haven't replaced yet which start to get flickering black regions first, prompting me to toggle compositing back off. (eg. the GTK 3 build of Geeqie, because I haven't completed my PyQt rewrite of the portions of it I actually use and I could never get used to Gwenview's handling of scroll-wheel image switching lacking both Geeqie+GdkPixbufLoader's incremental load/display and my rewrite's solution of wrapping QImage in some anticipatory preloading.)​
              Last edited by ssokolow; 24 March 2024, 08:27 PM.

              Comment


              • #8
                Since we are on the subject of running Windows guests with QEMU/KVM, probably a good time to ask a question I have been meaning to ask:

                If I install Windows on a "bare metal" (so like I would if just doing a single-boot Windows machine), and if I then install Linux on a second SSD drive and set for dual-boot, can I run that initial Windows installation within my Linux installation? Meaning, not install Windows within QEMU/KVM onto a QCOW2 disk image file? I get there could be driver and licensing issues jumping between machines (physical vs. virtual) , but think I can solve most of that.

                Would be useful in a work situation where I would need to have Windows installed on "bare metal", but would also allow me to do a supplemental Linux install. And when running Linux, could also attend to Window-based work stuff.

                Comment


                • #9
                  Originally posted by ehansin View Post
                  Since we are on the subject of running Windows guests with QEMU/KVM, probably a good time to ask a question I have been meaning to ask:

                  If I install Windows on a "bare metal" (so like I would if just doing a single-boot Windows machine), and if I then install Linux on a second SSD drive and set for dual-boot, can I run that initial Windows installation within my Linux installation? Meaning, not install Windows within QEMU/KVM onto a QCOW2 disk image file? I get there could be driver and licensing issues jumping between machines (physical vs. virtual) , but think I can solve most of that.

                  Would be useful in a work situation where I would need to have Windows installed on "bare metal", but would also allow me to do a supplemental Linux install. And when running Linux, could also attend to Window-based work stuff.
                  I think any issues would be on the Windows side... possibly relating to constantly having the list of installed devices flip-flopping between the real and virtualized motherboards, given that's what Windows ties your license to. On the Linux side, /dev/sdXY, /dev/nvmeXnY, and /home/foo/bar/whatever.qcow are all just files as far as accessing their contents are concerned.

                  (It's only when substituing a file for something that demands a block device that you need something like the mount command's -o loop to wrap on a loopback device to add the extra APIs block devices get. Substituting a raw device node for a file and, thus, removing the abstraction which splits it up into pieces, should always work so long as your file permissions are set to allow access to it.)

                  Comment


                  • #10
                    Originally posted by ssokolow View Post
                    I think any issues would be on the Windows side... possibly relating to constantly having the list of installed devices flip-flopping between the real and virtualized motherboards, given that's what Windows ties your license to. On the Linux side, /dev/sdXY, /dev/nvmeXnY, and /home/foo/bar/whatever.qcow are all just files as far as accessing their contents are concerned.

                    (It's only when substituing a file for something that demands a block device that you need something like the mount command's -o loop to wrap on a loopback device to add the extra APIs block devices get. Substituting a raw device node for a file and, thus, removing the abstraction which splits it up into pieces, should always work so long as your file permissions are set to allow access to it.)
                    Thanks. Good to know technically not an issue (figured was doable, but did not know for sure.) We use a volume license at work, this may alleviate some issue with that part. Really, have to just try it out and see what happens.

                    Comment

                    Working...
                    X