VirtualBox is ridiculously simple to set up and get virtual machines going. Shared folders, shared clipboard and much more are no issue.

But.

It eats resources. The installed virtual machines (VM) run relatively slow. What have you found to be feature comparable - and most importantly more resource-efficient - alternatives for running VMs under Linux?

  • Eugenia@lemmy.ml
    link
    fedilink
    English
    arrow-up
    29
    ·
    1 month ago

    Under Linux, the recommended route is KVM/Qemu, with Virt-Manager as the GUI front-end for them. You will need to follow tutorials to install it correctly, as it requires special steps, e.g. adding them to specific usergroups. But once it works, it works well.

    • golden_zealot@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      Yea, the installation isn’t too difficult. Looking at my groups as well I think it’s only the libvirt group that you have to add a user to for KVM/QEMU with Virt-Manager, but the same could be said for VirtualBox as I believe you have to still add the user to the vboxusers group if you were to install it instead.

    • HubertManne@moist.catsweat.com
      link
      fedilink
      arrow-up
      1
      ·
      1 month ago

      I recall I had to do like one thing to get it working outside of just apt install but I can’t for the life of me remember what it was. I just put the error in a web search and found what was needed to deal with it.

    • data1701d (He/Him)@startrek.website
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 month ago

      I agree. The only feature where I’d say it’s weaker feature-wise is it doesn’t have any form of virtual GPU acceleration - either you deal with software rendering or have to pass through a graphics card (I’ve done it, but it’s not easy.).

      Otherwise, I’d say it tends to run better than VirtualBox, though it’s been years since I last used Vbox anyhow. A plus is Virt Manager comes in most distro repos, whereas VirtualBox doesn’t. Also, it allows you to directly edit the XML, so you can do some cool stuff that would be really annoying (not impossible) to do in VirtualBox.

      • cole@lemdro.id
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 month ago

        actually, you can do vulkan passthrough if the guest machine is also linux

      • Einar@lemm.eeOP
        link
        fedilink
        arrow-up
        1
        ·
        1 month ago

        That’s my struggle with this solution as well.

        Still, a solid choice.

  • foremanguy@lemmy.ml
    link
    fedilink
    arrow-up
    15
    ·
    1 month ago

    Definitely if you’re on Linux, use Qemu (and the best is to install a GUI to use it after)

  • Filetternavn@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    9
    ·
    edit-2
    1 month ago

    virt-manager is my go-to. There’s also Gnome Boxes, but I’ve never used it myself. virt-manager is the best I’ve tried, personally. Both use KVM, so they should be much more resource efficient

  • Mwa@lemm.ee
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    1 month ago

    Qemu/Kvm or VMware(Sadly only works on some distros and vmware works best with Windows)

  • some_guy@lemmy.sdf.org
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    1 month ago

    Vagrant by Hashicorp.

    Edit: if the news of IBM acquiring them goes through, I will cry. And we live in the worst timeline, so it’ll happen.

    • eldavi@lemmy.ml
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 month ago

      ibm is going to buy the entire ansible-verse; so be ready.

      i will weep with you in solidarity. 😉

    • milliams@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      1 month ago

      While it wasn’t a requirement, be aware that Vagrant (along with all Hashicorp products) are no longer free software and are instead under the Business Software Licence.

  • testman@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    1 month ago

    As jet points out, QEMU for actual hardware virtualisation.

    There is one relevant thing, which is not exactly in the same category, but does somewhat similar thing:
    containers
    most popular example being Docker
    https://en.wikipedia.org/wiki/Containerization_(computing)
    containers don’t emulate whole hardware stack like virtual machines do, they just run the guest OS on top of host OS.
    so because they don’t put resources towards emulating hardware, they are much more resource efficient.
    so if your problem is “I’m running Fedora but I want to run something that for some reason runs just on Ubuntu”, then you could use containers for that.
    containers are mostly used in headless environments (as in servers, no GUI), so running and displaying desktop Linux inside them is a bit tricky, but it can be done.

    • FrostyPolicy@suppo.fi
      link
      fedilink
      arrow-up
      9
      ·
      1 month ago

      they emulate just the OS

      Containers don’t emulate anything. They have an OS installed within them. Typically you use Alpine Linux which super minimalistic and lightweight.

    • Alex@lemmy.ml
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      I’ve been using https://containertoolbx.org/ recently to manage my “other distro” requirements. It doesn’t do anything special but works nicely as a wrapper around podman and does all the bind mounts and uid mappings so you can just enter your $HOME as though you have set up your account in a new OS.

      • PureTryOut@lemmy.kde.social
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        1 month ago

        Distrobox is Toolbx but more portable (packaged on basically all distributions) and supports way more distributions as guests. I recommend using that if not on Fedora or you want to run a different guest than Fedora.

  • mvirts@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    1 month ago

    Virt-manager with qemu-system, although if you use the kvm driver for both performance should be about the same I think.

    Don’t forget virtualbox has a lot of configuration options that may improve performance, Ive never had a problem with it but also never need high performance from a VM.

    • Einar@lemm.eeOP
      link
      fedilink
      arrow-up
      2
      ·
      1 month ago

      This “Beginners Guide” they have there is a serious turnoff. They might want to consider a more lightweight and friendly intro to their software. 😄

      Still, if I find the time to go through this massive wall of text, I will.

      • purplemeowanon@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        18 days ago

        To be clear, I don’t recommend it. But it was once favored over KVM for a variety of applications and it works in a fundamentally different way. I’m just surprised how quickly it’s lost favor among techies.

  • elucubra@sopuli.xyz
    link
    fedilink
    arrow-up
    2
    ·
    1 month ago

    You can specify the virtualization engine in VirtualBox, including KVM.

    A couple of easy virtualization tools that allow you to create VMs in a few clicks are Gnome Boxes and QuickEmu, which leverages Qemu and KVM

  • BrianTheeBiscuiteer@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    1 month ago

    I haven’t used it nearly as much as VirtualBox but Boxes (flatpak) is definitely a breeze to use. It uses KVM under the hood I think. If your use cases are complicated it might abstract away too much though.

  • ColdWater@lemmy.ca
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 month ago

    VMware workstation is free, it’s not open source but it’s faster than VirtualBox, if you want GPU passthrough KVM is the only choice but require quite bit of effort to setup

  • vga@sopuli.xyz
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    1 month ago

    Might be that you really don’t need VMs but just lightweight namespace containers. If so, you can use docker/podman, systemd-nspawn or various other tools. The overhead will be less than 1% if you stay within the same architecture as your host.

    https://wiki.archlinux.org/title/Systemd-nspawn