The document reveals a major focus on desktop deployment, with multiple major enhancements to make Xen a great client hypervisor:
- Client device virtualization (e.g. battery status etc)
- GPU virtualization with Gallium
- USB 2.0 support, PV USB support
- Trusted HID
- Simple VGA/text-mode management console
Probably, the most important entry in the list above is the display card (GPU) virtualization, one of the most complex task to achieve in hardware virtualization.
As reported by Wikipedia:
Gallium3D is a software library for 3D graphics acceleration being developed by Tungsten Graphics, an engineering company with expertise in Linux and open-source graphics technologies. Gallium 3D operates between the graphics API and the operating system with the primary goal of making driver development easier, bundling otherwise duplicated code of several different drivers at a single point.
Gallium3D provides a unified API exposing standard hardware functions such as shader units found on modern hardware. Thus, 3D APIs such as OpenGL 1.x/2.x, OpenGL 3.x, OpenVG, GPGPU infrastructure or even Direct3D (as found in the Wine compatibility layer) will need only a single back-end, called state tracker, targeting Gallium3D API…
To allow a full GPU virtualization, display cards vendors (Intel, AMD/ATI and nVidia mainly) will have to support the technology.
The current status reported is not exactly encouraging:
The first implemented and already partially working drivers are Cell and Intel GPU drivers. Work is done on ATI Radeon cards providing a skeleton driver, and the Nouveau team is moving development to Gallium3D, including a solution for older fixed function nVidia cards which lack programmable shaders.
Several companies are currently working to make Xen a client hypervisor: the BIOS leader Phoenix Technologies (with its HyperCore), the just-launched startup Neocleus, and several major OEMs like Dell, HP and Lenovo.
If Xen 3.4 will really develop the features above these companies may get major benefits from it and push for an early implementation in their commercial products.
The upcoming new version anyway is not just about desktops. It includes an impressive range of additional features, including:
- full support for Intel VT-c (VMDq and SR-IOV)
- full support for OVF
- Virtual machine synchronization for fault tolerance
- SATA command virtualization