Page 1 of 1

Should I enable VT-x etc. support?

Posted: 18. Sep 2007, 00:54
by laser
I would be grateful if someone could explain in layman's terms the pros and cons of enabling VT-x CPU or AMD-V support (referred to simply as VT-x below).

From what I have read it would appear that VT-x is a positive CPU feature that provides additional separation between the host and the guest, and should provide an extra level of robustness. However, on some platforms this may result in a reduced performance, even when using just the host OS (i.e. without VBox running). Is this correct? Can anyone shed any more light on this from an end-users perspective?

I have the following specific questions:

Q1. If VT-x is enabled for a given VM, does the guest OS see the VM as different hardware compared to when VT-x is disabled, and load different drivers, or a different HAL, or respond differently in other ways?

Q2. Can VT-x be disabled again once the machine has been run with it enabled (changing the state when the machine is powered off), or does it make an irreversible change to the guest OS?

Q3. Only recent CPUs support VT-x, but of those that do, are there some that have more efficient implementations than others, or are they all the same?

It would be really helpful to include answers to some of the these issues in the end-user documentation.

Kind regards,

laser

virtualbox 1.5.0 on windows host

Posted: 18. Sep 2007, 12:09
by plug
There is a problem on virtualbox 1.5.0 running on windows host with intel-VT enabled. bug is marked FIXED on 1.5.2 ...
So I advise you to wait for 1.5.2 if you use windows as host system.

Posted: 18. Sep 2007, 23:00
by BDKMPSS
as said before you shouldn't use VT-x with 1.5.0, but I may can answer your questions:
From what I have read it would appear that VT-x is a positive CPU feature that provides additional separation between the host and the guest, and should provide an extra level of robustness.
right, but it can be seen as no extra separation, but as a hardware based accelerated link between host and guest, but thats a question of perspectives
However, on some platforms this may result in a reduced performance, even when using just the host OS (i.e. without VBox running). Is this correct? Can anyone shed any more light on this from an end-users perspective?
no, thats not right.
VT-x will never slow you down at all, if there is no hypervisor/VM-Software installed/running.
And it is noticeably faster than traditional software virtualization (virtualbox developers claim something else)
however, it will slow you down (by close to not measurable) if you use a hypervisor (very basic OS which is just host for VMs, nothing more) but only one machine, your "real" OS like Debian-linux. But this is only slower compared to a native instance of the same "real" OS.
It still will be (much) faster as a software only hypervisor, as always running the same "real" OS
Q1. If VT-x is enabled for a given VM, does the guest OS see the VM as different hardware compared to when VT-x is disabled, and load different drivers, or a different HAL, or respond differently in other ways?

Q2. Can VT-x be disabled again once the machine has been run with it enabled (changing the state when the machine is powered off), or does it make an irreversible change to the guest OS?

Q3. Only recent CPUs support VT-x, but of those that do, are there some that have more efficient implementations than others, or are they all the same?
I answer these all at one, as there are all linked together by Q3:
there are some implementations of VT-x and AMD-V, but they are all more or less compatible.
basically there are 2 major versions (for both VT-X and AMD-V)
lets say version 1 and version 2
Version 1 is hardware accelerated virtualization for the CPU by making it "more directly" accessible for the guest
version 2 adds the same for "all" the other hardware, but can run like version 1
-> q1: if you use version 1, the hardware wont change, with version 2 its in charge of the hypervisor, if it wants to emulate the rest of the hardware or link the real one. if linked to the real one it will change, if you use other hardware in your host
(virtual box uses the version 1 approach)
-> q2: cou can enable/disable it without any problem with version 1, version 2 gets complicated (because hardware changes), but if you don't use windows as guest, it will be possible as well

hope that helps and that my English is not to ugly

Posted: 20. Sep 2007, 19:30
by laser
BDKMPSS wrote:as said before you shouldn't use VT-x with 1.5.0, but I may can answer your questions:
Ok, that's useful as I wasn't aware of that.
BDKMPSS wrote:no, thats not right.
VT-x will never slow you down at all, if there is no hypervisor/VM-Software installed/running.
And it is noticeably faster than traditional software virtualization (virtualbox developers claim something else)...
OK. I had only previously read the comments from the virtualbox developers in these forums, which explains why I thought VT-x would slow down my PC even when not using VB.
BDKMPSS wrote:I answer these all at one, as there are all linked together by Q3:
there are some implementations of VT-x and AMD-V, but they are all more or less compatible.
basically there are 2 major versions (for both VT-X and AMD-V)
lets say version 1 and version 2
Version 1 is hardware accelerated virtualization for the CPU by making it "more directly" accessible for the guest
version 2 adds the same for "all" the other hardware, but can run like version 1
Do these versions related to differences in the CPU, or are you referring to 2 different ways in which the virtualisation s/w (e.g. VirtualBox, VMware, VirtualPC, etc) can make use of the VT-x feature?
BDKMPSS wrote:hope that helps and that my English is not to ugly
Very helpful indeed :) .

Thank you.

Posted: 20. Sep 2007, 22:22
by Technologov
Hardware virtualization, unlike hardware 3D acceleration is SLOWER.

Posted: 20. Sep 2007, 23:44
by BDKMPSS
@ Technologov:
Yes, it is slower in VirtualBox (only tested with 1.5.0), but this is not the fault of the technology itself, I would "blame" the virtualbox developers for this (But of corse I wouldn't really blame them, as it is free, partly opensource, high quality and fast enough software -> I like it a lot).
If you don't modify the guest (paravirtualization) hardware virtualization it is -mutch- faster in all instances I have tested it (compared with the same OS in the same Virtualization Software, no crossbenchmarking done), the VBox implementation is the only lagging behind. (no I have not run any stupid benchmark, but unattended installations and using the system was a much better and faster experience)

Maybe all other VM-Software I used was written so poorly that VT-x was faster, but only because the traditional approach as implemented by them was so slow, but I think this would be a little strange, right?

@ laser:
The "Versions" are related to implementation differences in the CPUs, only the newest CPUs are able to perform "Version 2".
"Version 1" can only operate in one state, "Version 2" can operate in these 2 different ways; just like "version 1" or in the advanced "Version 2" mode

Posted: 21. Sep 2007, 10:07
by sandervl
You are mistaken. VT-x and AMD-V are slower by design. Only the arrival of nested paging can change that.

Read up on technical details before blaming us.

Posted: 21. Sep 2007, 23:43
by BDKMPSS
as I said this is just my experience. I know I may be wrong and benchmarks may point out, that I am wrong, but as I also said I have not benchmarked anything
...I don't know how to explain it...
On my Core 2 Duo E6600 System it feels much "smoother"
I have read (bridged) specs (for VT-x) and know why it should be slower... but this strangely enough my very own test showed something else
(and as anyone, I trust myself much more than anything else)

I used "blame" on purpose in quotes... You may not be responsible for this, maybe something strange happened to me, I dont know...
... maybe I failed to make this clear enough...

ultimately you are the developers, you must be right ;)

Re: Should I enable VT-x etc. support?

Posted: 20. May 2009, 06:33
by mdeveaux
VT-x will never slow you down at all, if there is no hypervisor/VM-Software installed/running.
And it is noticeably faster than traditional software virtualization (virtualbox developers claim something else)
however, it will slow you down (by close to not measurable) if you use a hypervisor (very basic OS which is just host for VMs, nothing more)
Umm!!! using Vista 64 ultimate on HP m9600t with i7 chip, I just had to switch OFF VT-x support as it ***killed*** my machines performance. boot up now back to 20 seconds (vs 2 minutes with VT-x switched on). On the other hand the VMs ran nicely, until the host machine's regular bluescreens killed them.

Now this really sucks, because I am planning a highly virtualised environment for my project, I may have to totally re-spec the hardware.

Any "recommended" host platform for virtualization for SuSE, Windows Server, and Solaris??

Re: Should I enable VT-x etc. support?

Posted: 20. May 2009, 09:05
by fixedwheel
mdeveaux wrote:Umm!!! using Vista 64 ultimate (...) On the other hand the VMs ran nicely, until the host machine's regular bluescreens killed them.

Now this really sucks, because I am planning a highly virtualised environment for my project, I may have to totally re-spec the hardware.
LOL, did you even think about re-spec the host OS? :mrgreen:


as for the hardware, i dont like much the HP pavilion consumer line - their former Compaq(*) descendants (Proliant server, xw workstations ...) rule

(*)dont confuse with the new Compaq branded cheap stuff