Desktop virtualization has perpetually had to chase the tail of peripherals compatibility. Evolving standards like USB, pervasive use of resource-heavy webcams, and softphones make peripherals support for virtual desktops a moving target.
USB devices can present a serious challenge for the virtual desktop. Products such as Citrix's XenDesktop allow USB traffic to pass through to the virtual desktop, but you must take care to implement this wisely. USB 2.0 devices allow signaling speeds up to 280 Mbps and 3.0 devices raise the bar to 400 Mbps. At full speed, these rates would crush all but the fastest WAN connection speeds available to users.
The USB standard classifies each device in a class code. Each of the major desktop virtualization offerings has slightly different peripherals support.
Citrix XenDesktop and XenApp. By default, Citrix allows microphones, force feedback joysticks, digital cameras, printers, copy protection dongles, keys for software licensing, and storage-related devices, such as CD/DVD, USB hard drives and thumb drives.
They also support webcams and television tuners. The HDX protocol technology can compress the video stream on the client side and send it to the virtual desktop session in a range of 300 to 600 Kbps of bandwidth. This allows it to be used over a wide range of network options. In the medical field, you can also support blood pressure monitors, heart rate sensors and other healthcare related peripherals.
VMware Horizon View. View also has USB redirection support for webcams (this requires PCoIP protocol) and many storage devices. View allows for similar control of what devices can be allowed or blocked as Citrix's products do.
Microsoft's Remote Desktop Session Host and VDI. Microsoft's desktop virtualization tools use RemoteFX technology for USB redirection and support most devices. Microsoft specifically restricts VoIP telephones and webcams to LAN-only operation.
Some peripherals, USB or not, are generally supported by desktop virtualization tools without any USB redirection or remoting. These include keyboards, mice and smart cards. Regardless of how these devices connect to the client (Bluetooth, PS/2 and so on) they "just work" in the virtual desktop session because the base protocol already includes support for them. Printers and drives are also normally natively supported without requiring USB remoting. USB devices not supported in desktop virtualization include specific networking devices such as a USB Bluetooth adapter or Wi-Fi adapter.
The Microsoft, Citrix and VMware platforms additionally support the hot plug/unplug nature of USB devices without needing to have it plugged in when the session is started.
When supporting USB devices, you also need to consider the resource requirements of the device. For instance, a USB camera sending an uncompressed HD video stream to a client may use in excess of 60 Mbps of bandwidth. It may make sense to only enable it in LAN-connected scenarios or use vendor optimization to decrease the network footprint. High latency, low bandwidth networks are often ill-suited to USB support. The virtual desktop session might not take into account the excessive delay in accessing these devices, resulting in errors, timeouts and other instability.
Nonpersistent virtual desktops (where the desktop is essentially tossed away each time the user logs off) can also be problematic with USB devices. The desktop session isn't retained, so the USB must go through the detection/creation phase each time the user logs in, to set up the peripherals again. This puts stress on the server and its related subsystems. Persistent virtual desktops (where user gets the same desktop VM every time they log in) are better suited for USB support because they store the device information with the VM.
Some desktop virtualization setups support scanners that are used to make digital copies of documents or photos. If the client device has a TWAIN-compliant scanner, Citrix XenApp and XenDesktop support the use of the device. Dell/Quest RemoteScan allows TWAIN- or WIA-compliant devices, including scanners, to be shared on the network and made available to desktop virtualization clients running the RemoteScan software, whether they are the client attached to the device directly or not.
Printing has progressed significantly, but it can still be problematic for virtual desktops. One solution is client printer redirection, where the printers client is mapped to directly (USB, serial, parallel, and so on) or indirectly (over a network) and duplicated in the virtual desktop session. When the user prints from their virtual desktop, it spools the print job to the client and onto the printer.
More on virtual desktop printing
Printing from a virtual desktop on a mobile device
Remote Desktop Services printer redirection problems
Common remote desktop printing problems -- and solutions
With so many moving parts in the printing process, it can go awry. Printer drivers in particular can simply break, crashing the print spooler service on the client or virtual desktop session. With hundreds or thousands of drivers potentially in play, solution providers have come up with less complex alternatives.
Citrix, for example, offers a Universal Print Driver (UPD) that displaces the need for having a custom driver for the printer. Microsoft has a similar technology called Easy Print. These alternatives have some drawbacks, however, the biggest being limited support of printer features. If a printer has a feature that isn't supported by the more generic universal driver, then you lose that functionality. Citrix offers additional technology that uses the UPD or a Windows native print driver to talk to a Universal Print Server. One advantage of routing to this server is that it compresses the print jobs to reduce network impact.
Tricerat Screwdrivers and Cortado ThinPrint offer a similar approach and support non-Citrix platforms.
Other peripherals considerations
Many devices that could be used as virtual desktop clients offer multi-touch displays, so it's becoming more common to require support for the tap, pinch, zoom and pan gestures on virtual desktops. Microsoft offers RemoteFX Multi-Touch in Windows 8 and Windows Server 2012 to assist with this kind of peripheral support.
Peripheral support for virtual desktops requires close examination of capabilities. No list of feature checkboxes substitutes for testing real devices in your desktop virtualization environment. Testing over the network connection that workers use is also imperative to refining what IT can support.
This was first published in November 2013