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?
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.
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.
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.
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.
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
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.
Without any kind of software behind GUI this is almost useless and I think that CLI (or even TUI) are today so underrated that we should give more and more power to them instead of GUI
https://virt-manager.org/ is a no brainer. Built upon libvirt/Qemu/KVM it's way more powerful and pretty much just as easy to use. There is zero reasons to use anything else.
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.
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.
Virtualbox should not run slowly in terms of compute. Make sure your allocating enough cores and memory, and VT/AMD-V is enabled in the BIOS of the host. Also Guest additions should be installed. Not sure but that might help IO speeds.
What might be slow, Graphics may not be acceralerated. Exactly what VM software to use, what it works with, and actually getting it to work can be challanging. Installing guest drivers though is probably required.
For Linux KVM solutions are probably preferred and more native solution but more technical to use. Getting graphics acceleration with KVM has been challenging, though may be possible. KVM is used widely on servers, but is not that desktop friendly.
All VM solutions are resource intensive. Use containers and/or native software to reduce/avoid that.
Edit: I myself have used VirtualBox but these days I use KVM including on my workstation.
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.
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
I don’t know if it’s more resource-efficient, but when I wanted to start using VMs for work, I knew VirtualBox would not be a viable choice (thanks to Oracle and their horrible licensing), so I chose GNOME Boxes and have been pretty happy with it. I didn’t do any tests so I can’t say for certain , but it doesn’t seem like the resource consumption is that much different.
What about VMware Workstation Pro? Or are you looking for something FOSS? It’s easy to download without creating an account and I found it easier to setup that VB. I actually switched because I’d been having connectivity issues with VB and it took me a year to realise it was a VB issue.