• wildbus8979@sh.itjust.works
    link
    fedilink
    arrow-up
    45
    arrow-down
    1
    ·
    7 months ago

    Let me add one more voice to say, why oh why would you do that to yourself and suffer subpar virtualization when you have world class type 1 virtualization built straight into the kernel. And an incredibly capable UI, around since 2009, in the form of virt-manager?

    • ProtonBadger
      link
      fedilink
      arrow-up
      10
      ·
      edit-2
      7 months ago

      and suffer subpar virtualization

      Meh I can get a Win11 guest that interacts well and conveniently with the host and its peripherals and if all I’m doing is running tax software, office365 or compile my Rust app to test it cross platform - vbox is perfectly fine. I’m not running anything demanding.

      I’m not taking a stance against KVM it’s great, but rather saying that for some of us it’s not that big of an issue which solution to use, it just needs to be convenient.

      • wildbus8979@sh.itjust.works
        link
        fedilink
        arrow-up
        10
        arrow-down
        4
        ·
        edit-2
        7 months ago

        But like… why? It’s not even more convenient, virt-manager is literally zero setup (in Debian at least) and you don’t need to deal with DKMS.

        The kvm-guest-agent tool and some virtio drivers even exist for winblows.

        • rotopenguin@infosec.pub
          link
          fedilink
          English
          arrow-up
          4
          ·
          7 months ago

          When I run virt-manager on Bookworm, all it does is tell me that “xen is not connected”. There is nothing to indicate that KVM is anything that virt-manager might support, or why it currently doesn’t.

          The best I can do is to make a VM in gnome boxes, use “ps” to capture its command line to qemu, re-format that into something that I can put into a bash script, and edit in additional options that Boxes/libvirt absolutely refuse to support.

          Most of the host integration features are better in Virtualbox. On the other hand, with qemu I don’t have to look at VB filling the journal with ubsan errors (and wonder if its crappy driver is corrupting shit). If VB supported KVM, I would go right back to it.

          • wildbus8979@sh.itjust.works
            link
            fedilink
            arrow-up
            4
            arrow-down
            1
            ·
            edit-2
            7 months ago

            You just need to add a KVM connection.

            File > Add connection > select “QEMU/KVM” > Profit

            Most of the host integration features are better in Virtualbox.

            Highly doubt that, specially if you’re using Virtio devices and the qemu guest agents.

            • rotopenguin@infosec.pub
              link
              fedilink
              English
              arrow-up
              4
              ·
              7 months ago

              Aha, thank you! That’s just a weird enough concept to “attach to” a local QEMU user session (where virt-manager will be the guy spinning it off anyway) that I would never have seen it.

              Every newbie article about virt-manager starts with a filled list of connections, so I was down to figuring that it’s cleverly detecting a missing dependency or permission and silently eliminating list entries for me.

              • wildbus8979@sh.itjust.works
                link
                fedilink
                arrow-up
                4
                ·
                edit-2
                7 months ago

                Glad it helped! The idea is that virt-manager is semi backend agnostic. It’ll doe Xen, Qemu, and LXC via libvirt, and it can do those as root, or unprivileged as well as connect to remote sessions via ssh. Pretty darn cool!

              • laurelraven@lemmy.blahaj.zone
                link
                fedilink
                arrow-up
                2
                ·
                7 months ago

                Don’t you hate it when a newbie how-to doesn’t start from where a newbie will, with a fresh install and nothing configured and no prior knowledge?

    • xenspidey@lemmy.zip
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      2
      ·
      edit-2
      7 months ago

      Tried for days to get a windows 11 guest to work on KVM with virt manager. Couldn’t get very good performance at all. Virtual box with guest drivers is pretty close to bare metal for me. I’d love to use KVM but can’t get good performance

      • Possibly linux@lemmy.zip
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        7 months ago

        It is also really slow. I can’t play games in it and doing any CPU or GPU heavy work takes for ever.

        Meanwhile KVM runs VMs pretty much like they are native. (1-2% slower technically)

  • dinckel@lemmy.world
    link
    fedilink
    arrow-up
    27
    arrow-down
    2
    ·
    7 months ago

    I’m genuinely curious, why does VB continue to somehow remain in use, when it’s lacking in features, or behind in usability, in basically every way imaginable? If you’re on a Linux host, you have plenty of 1-click solutions that are incomprehensibly better than this. On Windows, Hyper-V boxes aren’t horribly difficult to get running either, although from my experience, they require the same janky and hacky patches as VB does

    • penquin@lemm.ee
      link
      fedilink
      arrow-up
      19
      arrow-down
      3
      ·
      7 months ago

      Virtual box (for me) is the only app that has always been plug and play when I needed a VM. I’ve had issues with all the other ones. I still can’t figure out how to get GPU passthrough to work on kvm. I tried so much the other day and failed miserably. Gave up and went back to VB.

      • Possibly linux@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 months ago

        In boxes there is a toggle that is labeled “3D acceleration” if you flip the toggle your VM will have GPU acceleration.

        • DefederateLemmyMl@feddit.nl
          link
          fedilink
          English
          arrow-up
          11
          ·
          7 months ago

          That’s not GPU passthrough. That just enables VirGL, which is a translation layer that passes some OpenGL calls through to the host’s Mesa installation. It has rather poor performance though, it’s extremely limited and is rather buggy too. You certainly can’t use it for cutting edge gaming.

          GPU passthrough is when you pass through an entire GPU device as-is to the virtual machine. That is: if you have an Nvidia RTX 3060, the guest operating system will see an Nvidia RTX 3060 and it can use the native drivers for it. This gives you near-native performance for gaming.

          Now, I didn’t even know this was possible with VirtualBox (if so: cool!), but it’s certainly doable with KVM if you have the right motherboard and GPU combination. I have done it, but it is quite the hassle indeed though that isn’t really KVM’s fault.

          • penquin@lemm.ee
            link
            fedilink
            arrow-up
            4
            ·
            7 months ago

            That’s why it failed for me, I don’t have an Nvidia GPU. I wanted to pass my GPU to my windows install but it never worked and I blamed kvm 🤦🏽‍♂️ I knew about the first part that the “3rd acceleration” isn’t a full GPU passthrough, but didn’t know the latter was Nvidia only.

            • DefederateLemmyMl@feddit.nl
              link
              fedilink
              English
              arrow-up
              4
              ·
              edit-2
              7 months ago

              It does work with AMD GPUs too, I did it with an RX6800XT myself, but there are some (most…) AMD GPUs that have a reset bug which means they hang if you reboot the guest and you need to powercycle the physical host machine to make the GPU usable for the guest again.

              • penquin@lemm.ee
                link
                fedilink
                arrow-up
                2
                ·
                7 months ago

                Well that sucks. I have a 580xt GPU. It’s about 7 years old, but still powers. Do you have a link on how to get it working? Pretty please?

                • DefederateLemmyMl@feddit.nl
                  link
                  fedilink
                  English
                  arrow-up
                  4
                  ·
                  7 months ago

                  To get basic GPU passthrough working, I mainly followed the Arch Linux guide: https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF

                  Be warned though that this is just the start of the journey. There are all kinds of issues that you need to deal with and decisions that you need to make if you want to practically use it for gaming, and those require lots of googling, piecing bits of information together from all over the place, and trial and error. From memory these are things I had to deal with:

                  • How to handle storage? Just a qcow2 file or pass through a partition or drive?
                  • How to handle mouse and keyboard input? Emulated or through a passed through USB port? Both have their pros and cons.
                  • Audio is a pain in the ass… emulated it either crackly or laggy. There is a way to pass it through to pipewire through a unix socket, but it’s convoluted to setup. Or perhaps you can pass an entire audio device through to your guest?
                  • Bluetooth audio, for my wireless headset, was an even bigger issue because audio did not get routed correctly to the headset if I just connected to the host. In the end, I got a separate bluetooth dongle for my VM, and passed it through.
                  • How do you handle the display between guest and host? Two separate monitors? A monitor with dual inputs, and toggle between them? Or something like looking-glass, which sounds appealing but again introduces issues like vrr not working properly, and your GPU will probably need a dummy “dongle” to work without an actual monitor connected.
                  • Then there’s the CPU and how to divide the cores between guest and host: for best performance, the guest’s cores need to be reserved, and should take into account the CPU topology. For example, I have a 5900x and reserved the 6 cores on one CCX for my VM , leaving the other 6 for my host.

                  For more information, there’s the /r/VFIO subreddit. Yeah I know, f*** reddit, but it has a lot of useful information. The looking glass site has some FAQs too, even on things not directly related to looking-glass itself. There is some VFIO discussion on the level one forums as well, but they’re not so active.

                  Anyway if all this sounds like a cool project to spend a few weeks on, I heartily recommend you try it. I sure enjoyed setting this all up and getting it working, but I spent way more time configuring and troubleshooting things than I did gaming with that setup, and in the end I decided that just gaming on Proton and occasionally dual booting for problematic games is a much more practical solution.

    • Possibly linux@lemmy.zip
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      1
      ·
      7 months ago

      Hyper-V is not really better than Virtualbox on Windows. Virtualbox will run anywhere and that is its strength.

      On Linux, you should use KVM. I assume that’s what your advocating for.

    • far_university1990@feddit.de
      link
      fedilink
      arrow-up
      3
      ·
      7 months ago

      How share folder host-guest without network access? Last time try need to use samba (did not get working) and then impossible to turn off vm network access. Used qemu for win 10 guest.

      VB just install guest addition and disable network interface.

    • umbrella@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

      what are those options?

      virtualbox is a simple gui i can get working fast whenever i need it to.

  • Avid Amoeba
    link
    fedilink
    arrow-up
    18
    ·
    7 months ago

    Cool beans. KVM is one step away from fully replacing VirtualBox and VMware for desktop virtualisation - getting a Windows 3D driver for Virtio. For use cases that can get away without it, it’s already there.

  • xlash123@sh.itjust.works
    link
    fedilink
    arrow-up
    3
    ·
    7 months ago

    Why does a virtual machine platform need to add support for different kernel versions? What changes are there in the kernel that affects how it interacts with the virtual hardware?

  • Possibly linux@lemmy.zip
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    4
    ·
    edit-2
    7 months ago

    Virtual box is slow and buggy and it probably will always be that way. It is simply the nature of its design.

        • thingsiplay@beehaw.org
          link
          fedilink
          arrow-up
          1
          ·
          7 months ago

          Qemu can also be used with KVM, without emulating the entire hardware. My preferred way to virtual machinery.

          From linux-kvm.org:

          The kernel component of KVM is included in mainline Linux, as of 2.6.20. The userspace component of KVM is included in mainline QEMU, as of 1.3.

    • BradleyUffner@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      7 months ago

      Odd, since in my experience, it’s the most consistently reliable, performant, and easy to setup / use desktop vm package I’ve used. It always seems to “just work” when others don’t

        • BradleyUffner@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          7 months ago

          I guess that depends on what we are using it for. I use it for CAD / CAM software that only works in Windows (Vectric Aspire). Nothing else has been able to give me 3d previews with any kind of usable performance.

          • Possibly linux@lemmy.zip
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            2
            ·
            edit-2
            7 months ago

            Virtualbox is not a type I hypervisor. You will get better performance in KVM. Just enable GPU acceleration.

            If it is working for great but its lacking many features and isn’t native.

            • BradleyUffner@lemmy.world
              link
              fedilink
              English
              arrow-up
              3
              ·
              7 months ago

              I’ve never been able to get GPU acceleration working in qemu/kvm. That’s also why the “just works” aspect of virtual box is important.

  • Presi300@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    edit-2
    7 months ago

    Just… Use virt manager or if you like me hate it’s UI, gnome boxes. They are different UIs for the same thing. And are both infinitely better than virtualbox.

  • stuckgum@lemmy.ml
    link
    fedilink
    arrow-up
    2
    arrow-down
    7
    ·
    7 months ago

    Had to run linux VM at previous job. Dreadful experience. Glad I can run natively now.

    • Onno (VK6FLAB)@lemmy.radio
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

      I’ve been running my main desktop as a VM since 2009. I make a new VM for every client and plenty of others.

      I have no what you are talking about.

      • thingsiplay@beehaw.org
        link
        fedilink
        arrow-up
        1
        ·
        7 months ago

        You don’t have the same hardware, drivers and software as him. Off course you would not know what he is talking about then.

        • Onno (VK6FLAB)@lemmy.radio
          link
          fedilink
          arrow-up
          1
          ·
          7 months ago

          Hardware was why I went virtual. Before that, for a decade, I ran Linux bare metal, but was spending days recompiling kernels and drivers and futzing around with non-productive activities. Every upgrade would start the cycle again.

          Once I went to VMware all those issues went away.

          Now that new owners have taken over, it appears that I’m going to have to find a new solution.