Virtual box is slow and buggy and it probably will always be that way. It is simply the nature of its design.
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.
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
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.
Had to run linux VM at previous job. Dreadful experience. Glad I can run natively now.
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.
You don’t have the same hardware, drivers and software as him. Off course you would not know what he is talking about then.
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.
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
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.
In boxes there is a toggle that is labeled “3D acceleration” if you flip the toggle your VM will have GPU acceleration.
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.
Does it still need to reboot the guest in order to connect an USB device?
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.
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?
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)
KVM runs VMs pretty much like they are native
Well, it is a type 1 hypervisor…
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.
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.
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.