[vbox-dev] Remove of VT-x dependency for 64bit guests an option?
klaus.espenlaub at oracle.com
Tue Jan 24 17:59:46 UTC 2017
On 24.01.2017 08:35, Clemens A. Schulz wrote:
> I just asked myself for what exactly VT-x is a hard dependency in
> VirtualBox to run 64bit guests. This dependency does not exist for 32bit
> guests - plus with latest Windows 10 Updates there no way to obtain VT-x
> access without deactivating HyperV functionality on OS-Level.
VT-x is also a hard dependency for SMP guests (i.e. having more than one
CPU for the VM).
32-bit guests with single CPU work with software emulation, which is
significantly less accurate than hardware emulation. Extending this to
cover SMP and 64-bit (and improve accuracy) is a huge effort, and isn't
attractive as pretty much all new CPUs have VT-x.
If Hyper-V is so great that you can't disable it you might try another
option: run VirtualBox in a Hyper-V VM which has VT-x passthrough
enabled. This isn't a config we test at all currently, but if Hyper-V
takes its job seriously it should work.
> For some reason VMWare Workstation supports from 12.5 on the Anniversary
> Update from Windows 10. As they won't be able to access VT-X anyway,
> since HyperV uses exclusive access to it all the time I more think that
> they simply removed all dependencies to the VT-x functionality.
VMware implemented SMP and 64-bit support long before VT-x was
available, so they had no choice (and a lot of time) to make it happen.
> Is that an option for VirtualBox? Wouldn't the remove of VT-x feature
> for VirtualBox also mean to slow down everything pretty much? Does
> anyone ever tested if the performance of VMWare Workstation 12.5 is way
> slower on Anniversary Update Windows 10 instead of an older Windows 10
Not using VT-x would certainly cost a lot of performance in some
workloads (with only extremely few workloads having a tiny chance to be
a little faster than with VT-x). So it'd need a lot of work to give a
worse result. Not an attractive situation.
Benchmarking other products is something we leave to others, but I
assume that not using VT-x overall is having a performance impact.
Would be much better and simpler if Hyper-V (especially the variant
shipped in Desktop OS variants) would learn how to (optionally) share
VT-x, which is what other hypervisors can do for a long time.
> Thanks a lot!
More information about the vbox-dev