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?
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.
Especially on Linux, libvirt/qemu on kvm is a no-brainer. It works, it’s fast, the setup is practically effortless
works decently enough for me is https://virt-manager.org/ to deal with libvirt. its not quite as nice in some ways but way less resource intensive.
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.
actually, you can do vulkan passthrough if the guest machine is also linux
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 thevboxusers
group if you were to install it instead.definitely not as easy as virtualbox
Gnome Boxes is about as easy as virtual box, and wont break your kernel.
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.
Not for the faint of heart, but I’ll keep it in mind.
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.
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
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 preferred but more technical to use. Getting graphics acceleration with KVM has been challenging, though may be possible.
All VM solutions are resource intensive. Use containers and/or native software to reduce/avoid that.
KVM, QEMU are the most common solutions here
You can also run VirtualBox with KVM as a backend.
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.
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.
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.
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.
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.
ibm is going to buy the entire ansible-verse; so be ready.
i will weep with you in solidarity. 😉
There’s nothing better than virtual box for desktop environments, especially after you install the guest tools.
I don’t know what you mean by “it eats resources” - of course it does, you’re emulating and entire system. What are your expectations?
Virtual Box is a Type 2 hypervisor, which means it’s running on top of the OS, and not directly on the hardware.
KVM is a Type 1, which runs directly on the hardware itself.
There are pros and cons to each, and VBOX is a great piece of software, but it is more resource intensive than other options available.
And it performs very well, especially for gui applications. It even supports multiple monitors for the guest.
For running a desktop it’s clearly superior and “fast enough”. I used it to run my primary development environment for years.
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