Feeling very uneasy regarding VirtualBox vs QEMU/KVM; need some advice

Originating from previous thread

came the title

Ever since beginning learning QEMU/KVM, though hard at first, I started feeling more comfortable with it in general than VirtualBox. It felt more “native” to the OS, more granular settings via text script commands, etc.

And finally I expected at very least the same performance level to VirtualBox, but given the aforementioned thread, this was not the case.

I still don’t know why, but it seems as if VirtualBox came with more optimizations for lower-end rigs, which makes no sense…
Also, VirtualBox is able to use network bridges with both ethernet and wifi connections, which yet another plus for performance; while QEMU it’s only possible with ethernet connections. And now the problem with laptops in particular is, ethernet ports are effectively being discontinued, making it no longer possible to run QEMU with network performance?

What’s the overall problem with QEMU? There must be one, and a longing one which has never been fixed
Why does it feel like QEMU is only intended specifically for use in big servers, and not consumer rigs?

By the way, also tried asking in QEMU mailing lists; they’re apathetic, no response at all in weeks.

@F_style like I indicated, no issues here. Libvirt/QEMU is native to linux, so no needing to compile modules or wait for patches after a kernel update etc… It is more designed for fixed hardware and servers…

In my desktop I have 4 interfaces dedicated to vm’s, appropriate ram and cores/threads to run them all…

I use USB to Ethernet devices for those without ethernet…

Virtualbox, Vmware Workstation etc are designed for end users to use, use what ever works.
But like I indicated, you have a lot more steps and potential issues when running the third party stuff kernel modules and extensions (maybe)…

You said it yourself:

There’s a learning curve, and VMware/VirtualBox are easier to learn how to use.


Why does it feel like QEMU is only intended specifically for use in big servers, and not consumer rigs?

Yours is a big server machine; mine is a consumer rig
What “third party modules and extensions”? I don’t get this

I’m talking about performance problems, not the learning curve.

The implementation is different in terms of how the virtualization engine works. To learn more, you’d probably need to talk with the developers behind the technologies to understand why they perform differently.

@F_style Just a Workstaion :wink: So for the likes of Virtualbox and VMware, they build their own kernel modules to supplement their product and work with the provided kernel.

There are at times build issues with the kernels provided in openSUSE so they have to patch to get working. So you may have to forgo upgrading the kernel until it’s fixed.

Extensions provide services, to access the host, say filesystem etc, AFAIK some are built in, some you have to add.

One of the openSUSE VirtualBox maintainers is in the forums (@larryr ) so if there are pending issues they usually advise…

You mentioned your “workstation” used Xeon CPU; Xeon is servers exclusive.

@F_style Nope and HP Workstations too (Probably DELL as well)…

inxi -c
CPU: 18-core Intel Xeon E5-2695 v4 (-MT MCP-)
speed/min/max: 1277/1200/3300 MHz Kernel: 6.4.11-1-default x86_64

Right now, VirtualBox 7.0.10 has one Oracle related issue and that is Drag and Drop still does not work. Cut and Paste works fine.
The Windows Guest additions (on the VirtualBox Device menu) works correctly.

We (the VirtualBox maintainers) are trying to stay ahead of the Linux Kernel changes. Many thing that were pointers in the past, must be changed to structures (for security reasons). It seems like every CVE that gets fixed breaks the VirtualBox kernel-kmp-default code. CVE are know bugs that need fixing -when a fix is created the CVE fix patch is applied.

Sometimes the SLES folks add fixes to kernel that are in use that were only needed for the next release kernel (they apply CVE that are deemed needed ASAP) and break VirtualBox in QA - then we have to put those changes in the current version. That is why you see virtualbox-kmp-default roll out with the same 7.0.10 release numbers. The change might be for Tumbleweed but all versions get recompiled as well when we submit the changes. Yes, I test Tumbleweed and Leap 15.5 VirtualBox releases before we submit them. I have no control of when OpenSUSE will release them from QA.

1 Like

Trying to understand all of this overall, I’d get that VirtualBox has heavy kernel-related work, probably unlike QEMU…

Could this be related to QEMU performance issues by chance?
On Leap, there were almost no kernel changes from 15.4 to 15.5; we’re still in 5.14, while Tumbleweed -used by @malcolmlewis - has been using 6.x since a big while already…

I tried searching on internet “QEMU benchmarks” with Intel i5 1135g7… and found nothing; at least nothing with clear conclusion…

VirtualBox engine is based on QEMU back in Version 1 - It still has a lot of QEMU code. It is best for ease of use. Windows XP thru 11 works fine in VirtualBox. With the Oracle Guest Additions installed in the Windows Virtual Machine - you get a 4-5 % hit in performance vs dual boot (Windows 10 was the test) If you can give more than 2 CPU’s to the virtual machine - you cannot see any difference.

Do not forget to select use host caching on the disk and select Solid state disk for nvme.