Changes to Documentation reflecting version 2.1.0

This is for discussing general topics about how to use VirtualBox.
Post Reply
TerryE
Volunteer
Posts: 3572
Joined: 28. May 2008, 08:40
Primary OS: Ubuntu other
VBox Version: PUEL
Guest OSses: Ubuntu 10.04 & 11.10, both Svr&Wstn, Debian, CentOS
Contact:

Changes to Documentation reflecting version 2.1.0

Post by TerryE »

Version 2.0.0 introduced a number of major functional enhancnts and improvements. These included:
  • 64-bit guest-OS support on supported 64-bit host OSs (the Linux, Windows and Solaris versions). This was accompanied by support for Nested Paging on AMD-V enabled AMD CPUs which improved virtualisation performance on these CPUs.
  • The VirtualBox GUI is implemented over the Qt Cross-Platform Application Framework and this was rebaselined from Qt3 to Qt4 enabling various visual improvements.
  • Support for Mac OS X hosts was improved with the adoption of the new native Leopard user interface, and the introduction of Host Interface Networking.
  • Support for Solaris hosts was improved with a new Host Interface Networking.
  • The Guest property information interface and improved metrics interface was added.
  • Support for SATA asynchronous IO (NCQ) on raw disks/partitions
  • Support for VHD disk image formats.
Version 2.1.0 was again a major update which extended the 64-bit, Mac OS X and Solaris support. Improvements included:
  • Experimental support for 64-bit guests on 32-bit host operating systems.
  • Support for hardware virtualization (VT-x and AMD-V) has been added to Mac OS X hosts, enabling these to run 64-bit guests.
  • Support for Intel Nehalem virtualization enhancements (roughly equivalent to AMD's Nested Paging). These together mean that hardware virtualization enables material performance advantages, assuming of course that your CPU, OS and BIOS enable (or do at least do not disable) these!
  • Experimental 3D acceleration on Windows OSs via OpenGL to enable pass-through hardware 3D acceleration.
  • Extending VMDK/VHD support to functionally equivalent to VDI including ability to create and maintain these disk images, including snapshots. The various VBoxManage xxxxvdi commands have been replace with equivalent commands which support all three (VDI, VMDK, VHD) image types.
  • Experimental LsiLogic and BusLogic SCSI controllers (basically the same ones as emulated by VMware).
  • A major overhaul of the networking engine: NAT with improved performance, reliability and ICMP echo (ping) support; a reimplementation of Host Interface Networking for Windows and Linux hosts (again giving comparable functionality to VMware).
The VBox development team have been focused on adding new functionality into the product in these Version 2 releases. However, introducing complex new functionality is always a dilemma given the complexity of the host and guest environments that they need to test against. It is almost impossible to get the correct balance of stability verses delivering demanded functionality. I therefore recommend that you treat the X.Y.0 and X.Y.2 releases as development quality. They are great for experimenting with and evaluating new features, but for "production" use you may wish to stick with 1.6.6 or 2.0.6 until you need the new 2.1 version features, as you should anticipate some problems and the need to use workarounds in the current 2.1 version. (For example the 2.0.2-2.0.6 versions were maintenance releases which together fixed some 90 identified problems in existing and new functionality, bringing version 2.0.6 to a comparable level of stability to version 1.6.6.)

Having run a difference across the 1.6.6, 2.0.6 and 2.1.0 manuals, the key changes in the manual echo the changes discussed above; and for those already familiar with the Version 2 manual the key changes are:
  • Section 1.2 on virtualisation techniques now includes and explicit caveat not to run other hypervisors (open-source or commercial virtualization products) together with VirtualBox. While several hypervisors can normally be installed in parallel, do not attempt to run several virtual machines from competing hypervisors at the same time. VirtualBox cannot track what another hypervisor is currently attempting to do on the same host, and especially if several products attempt to use hardware virtualization features such as VT-x, this can crash the entire host. The two areas of potential conflict occur with the use of ring-1 as a surrogate and the cooption of the hardware assist VM system, as there are no standard APIs to allow such resources to be shared between disparate VMMs. Whilst advanced users can get some products combinations working in software virtualisation mode, the general advice is to choose and stick to one hypervisor.
  • Section 1.3 also adds clarification of I/O APIC requirements for virtual machines especially for 64-bit Windows VMs and recommends using the VirtualBox GUI “Create VM” wizard as this will automatically apply the correct settings for each selected operating system type.
  • The supported host OS has been updated in Section 1.4, with Linux 2.4 kernel based OSs dropped, and Win2008, most current mainstream Linux distributions (e.g. Ubuntu 8.10) and Solaris 10 now fully supported. Mac OS X can now be used to run 64-bit guests. Also 64-bit guests on a 32-bit host operating a 32-bit host operating system such as XP as long as your CPU and BIOS supports H/W virtualisation.
  • The use of DKMS is now recommended in the case of Linux for Host and Guest OS (Section 2.3.2 and 4.3.1) as this automates the rebuilding of the various VirtualBox drivers on kernel update.
  • Section 4.8 (Hardware 3D acceleration — OpenGL) is a new section. Starting with version 2.1, the VirtualBox Guest Additions for Windows will intercept and pass API calls from guest applications through the VirtualBox Host-Guest Connector Module (HGCM) interface to the host OSs OpenGL interface. This way the guest windows applications can use the host's hardware 3D support. This new feature is still experimental. Read the section. Note that in the current release only formally supports XP and 32-bit Vista guests with the Guest Additions version 2.1.0 installed (though Win2000 guests also work as well). Any host version 2.1.0 (Windows, Mac, Linux or Solaris) can be used as long as OpenGL support is enabled in the host OS and graphics subsystem. See 3D Acceleration Support and OpenGL: 3D Extensions for more details.
  • Section 4.9 (Guest Properties) is a new section, together with Section 8.23 . In fact this functionality was introduced in version 2.0.0 but missed inclusion in the documentation. These parameters are also passed via the HGCM. The guest properties are string keys to which a value is attached. They can be both read and set by either the host and the guest. This allows for exchanging string data between the host and a virtual machine if Guest Additions (version 2.0.0 or greater) are installed. Note that the GA automatically initialises a set of parameters /VirtualBox/GuestInfo/OS/* and /VirtualBox/GuestAdd/OS/* so that scripts on the host can probe the guest configuration. You are also free to add your own keys. These section oddly omits the fact that a guest command (VBoxControl guestproperty) is available to interogate this parameter set using the same syntax as the host VBoxManage guestproperty command. See HOWTO: Use Guest Properties for further detail as well as reading these sections of course.
  • According to Section 5.2 (Disk image files) the general processing of snapshots and immutable disks is unchanged except for the now full support of all the image types (VDI, VMDK, VHD). However, a number of posters have noted that the handling of both snapshots and immutable disks have now changed, so I need to validate this by retro-engineering actual functionality against documented. The terminology for various disk commands has been changed to reflect this symmetric support for all three image types, for example createvdi -> createhd, modifyvdi -> modifyhd, clonevdi -> clonehd, registerimage -> openmedium and unregisterimage -> closemedium. I don't know why this last pair have adopted a different and somewhat odd naming convention, since register seems a lot more logical than open in this case. However one change which is logical is that the GUI option "Discard current state" has been renamed to a less confusing “Revert to current snapshot”.
  • Section 6.4 (NAT) has a few tweaks (e.g. ping ICMP is now routed though NAT) but overall the functionality is unchanged even though the implementation has been streamlined and runs a lot leaner.
  • Section 6.5 (Host Interface Networking) is a complete rewrite reflecting the new module. The simplest thing to do is to read the section. The section is actually shorter since the setup of a host interface is a lot simpler (if you use your guests to offer services where you currently need to configure NAT port forwarding then HIF is now a lot easier to set up instead. Much like VMware you just pick “Attach to Host Interface” option). You can now use HIF with wireless interfaces (with some limitations such as only IPV4 support). The old TAP mechanism is now dropped (along with the VBoxManage modifyvm command options to configure it). Note that Section 2.3.3 reference to /dev/net/tun, can be ignored this as the device is now obsolete.
  • In Section 8, consistent with the idea that some options are "Advanced Tuning" these options are only available through the VBoxManage modifyvm command: -nestedpaging on|off, -vtxvpid on|off,-accelerate3d on|off and -vrdpmulticon on|off. There are also two new options to VBoxManage listrunningvms and hddbackends. There are other minor tweaks consistent with the changes discussed here.
  • Section 9.14 (Configuring the guest TSC to reflect guest execution) descibes the new features to allow the guest TSC (time stamp counter) clock to reflect actual elapsed time in the guest rather than “wall clock” time.
  • Section 9.15 (Enabling SCSI controllers in the guest) describes how to configure the BusLogic and LsiLogic 53c1030 SCSI adapters.
Last edited by TerryE on 7. Jan 2009, 20:13, edited 3 times in total.
Read the Forum Posting Guide
Google your Q site:VirtualBox.org or search for the answer before posting.
TerryE
Volunteer
Posts: 3572
Joined: 28. May 2008, 08:40
Primary OS: Ubuntu other
VBox Version: PUEL
Guest OSses: Ubuntu 10.04 & 11.10, both Svr&Wstn, Debian, CentOS
Contact:

Post by TerryE »

Reserved for postscript comments.
[Minor edits with thanks to feedback from SanderVL and Technologov.] If you have any comments on accuracy then please let me know and I'll incorporate them too.
Post Reply