Citrix XenClient hands on

Have you tried it? The Citrix XenClient – bare metal (type-1) hypervisor for laptops/desktops. XenClient is a Open Source Software (OSS) that allows multiple Operating Systems (OS) to run concurrently on a single piece of hardware.

If you think that XenClient is just like any other desktop virtualization offerings (from VMware or Microsoft) then you are wrong. Let me explain why.

XenClient is a type-1 hypervisor – the Virtual Machines (VM) directly run off the hardware. Of cos with a thin software layer that help pass instructions to and fro between the VM and hardware. This thin software layer (the hypervisor) takes little resources and less prone to crashes as it isn’t as complex as a full fledge OS.

Other desktop virtualization offerings (e.g. VMware Workstation) currently are type-2 hypervisors. The VM runs off a virtualization software, that is in turn, running off a full fledge OS. The full fledge OS and virtualization software takes a chunk off your available system resources (CPU cycles, RAM, disk space, etc). It is more vulnerable as the host OS is susceptible to attacks and crashes (due to misconfiguration).

XenClient requires a Intel vPro machine and I manage to get my hands on a neat machine (courtesy of Santoso and Eugenia) – HP EliteBook 8440p, i7 620 @ 2.67GHz, 8GB RAM, Intel graphics.

XenClient Installation

Getting XenClient up and running is a straight forward process.
NOTE: XenClient installation wipes the ENTIRE harddisk, make sure you have backed up all important data.

  1. Download the iso image from Citrix downloads
  2. Burn the iso image out to a disc
  3. Pop the disc into the laptap and follow the on-screen instructions

Operating System (Virtual Machines) creation

I created two virtual machines (VM) – Windows XP, Windows 7. The creation is again another straight forward process – either create a new machine from installation disk or from a synchroniser. For me, I chose the former as I didn’t set up the synchroniser on my Citrix XenApp servers.

The VM creation goes like this:

  1. Define the virtual machine name
  2. Specify the type of OS to be installed
  3. Define the amount of RAM and number of vCPU for the VM
  4. The amount of storage for the VM
  5. Proceed to install from disc or save the config and install later

The OS installation process is no different from regular installations. After the OS is installed, install the XenClient tools and all the virtualized hardware *should* be recognized.

Usability and performance

After toying with the system for a couple of days, I would say (from a regular user point of view) that I didn’t notice that I am using XenClient. The OS behaves and performs to expectation, I still can watch my 1080p and 720p videos surprisingly well. I can also play Plants vs Zombies. Launching office apps (Office 2007 suite) from my XenApps (through Dazzle) are also equally well.

Interesting features

Synchronization capabilities. How about backing up your VM to a server periodically and redeploy that backup to another hardware when your current hardware gets damaged? It is possible with XenClient! Cool!

Some qualms

The wireless LAN connections are “proxied” (NAT instead of Bridge capability). The console (dom0) need to connect to the wireless network first before each of the VM connects to the wireless network via XenClient SSID. Guess wireless security like EAP won’t work for now as the wireless config utility (in dom0) is too simplified. Well, standard stuffs like WEP and WPA security still works though.

Both VMs connects to the same wireless network. dom0 connects to one SSID only and client VM sees one SSID. So it is currently a no no to connect to two SSIDs at the same time.

Need to manually start the VM after hardware startup. This is logical to a certain extent, well, the machine doesn’t know which OS to boot up cos sometimes you want this OS and sometimes the other.

Tabbing (to other VM or dom0) is sluggish at times, particularly when VM OS booting or shutting down. I ran into situations whereby I can’t shutdown dom0 as I can’t access it after I triggered VM shutdown. Duh!

OS support are limited. I actually intended to use it to set up the entire Citrix App Delivery infrastructure but XenClient tools don’t installs on Windows 2003. Neither do they support Linux.


I am definitely looking forward to an improved XenClient. It is a capability that organizations and even myself, an individual, is looking for. For organizations who are looking forward to segregate corporate and personal OS or even allow BYOC, this might be a viable solution.