I have seen a number of forum posts and internal emails about the fact that on machine creation services (MCS) created machines, the VNC mouse performance isn’t all that good, so this post explains why it is this way and how to return the mouse performance to normal. It should be noted that this only affects VNC connections to the virtual machine (VM). RDP and ICA/HDX connection are not affected.
In XenApp and XenDesktop 7.0, there was a change made that improved the (VM) density on XenServer by 3-5% with MCS created VMs by placing less load per VM on the XenServer. This reduces the hardware required to provide the number of given end user VM`s, saving money, power, etc.
The increase in density was achieved was by disabling the number of hardware devices in the VM, as the ICA/HDX connection provides these features anyway so these will not be used in normal day to day use of the VM. The hardware that is disabled is:
- Parallel Port
- Serial Port
However, this does introduce one issue if you are using VNC to control the VM. The mouse pointer in the VM does not align with the real mouse point. This can make it annoying to work in VNC (via the XenCenter console) in the VM. For example
This is caused by turning off the USB controller emulation on the VM, this causes the VM to fallback to using PS2 mouse hardware. Windows then applies mouse acceleration to the mouse and this causes the mouse position to drift from the real mouse pointer as it is moved.
This issue can be solved by either configuring XenApp and XenDesktop to not create VM`s with this feature turned off, or it can be re-enabled on an existing VM.
Disable this feature in XenApp and XenDesktop
After you have created the connection to the XenServer, goto the hosting node edit the XenServer connection and enter the following Connection option
Note this will only affect all new VM`s created on that connection but not existing Vm`s that have been created.
Re-enable the USB feature on the VM
Via the XAPI interface which you can get to via the console tab on XenServer node in XenCenter or via SSH.
This will return a list of a VM`s on that XenServer, find the one that you want to change.
uuid ( RO) : fdea6fd5-0ac8-146f-2075-d01a5dc6b938
name-label ( RW): vda02
power-state ( RO): running
Then set the platform parameter to have usb=true and usb_tablet=true using the UUID above
xe vm-param-set uuid=fdea6fd5-0ac8-146f-2075-d01a5dc6b938 platform:usb=true
xe vm-param-set uuid=fdea6fd5-0ac8-146f-2075-d01a5dc6b938 platform:usb_tablet=true
If the VM is running it will need to be rebooted before it will pick up the parameter change. This change will not be reset by MCS in any of it operations on the catalog or VM`s including image update, so if you wish it change it back you need to set usb and usb_tablet to false.