With the release of XenApp 6.5, we introduced the Citrix Universal Printer Driver (UPD) for each of the EMF and XPS formats, along with a set of printing policies that allow you, the IT administrators, to configure both client printers and network printers that are pointing to Citrix Universal Print Servers (UPS). If you are one of the many admins who used these two UPD drivers, then you know how much easier print driver management became as you were able to avoid installing hundreds of different, potentially unstable, third party printer drivers on your virtualized apps and desktop machines.

Let’s fast-forward to today and show why XenApp and XenDesktop has improved these fundamental legacy components to a much higher degree of stability and scalability while also containing new printing features that make our printing offerings more attractive for medium size and enterprise deployments and differentiate us from the competitor solutions

Stability Enhancements in the XenApp and XenDesktop 7.11 Printing Subsystem

The latest releases contain many important optimizations and performance improvements:

  • Performance counters exposed in Windows Performance Monitor (PerfMon) for both network and client printers allow a printing administrator to evaluate the health of the printing subsystem on both the Desktop/Server VDA and the Citrix UPS.
  • Crash detection feature for all Citrix printing modules fully automates the detection of crashes, the generation of an associated crash dump file, and the safe and automatic upload of the crash dump files to the customer’s Citrix Insight Services (CIS) account. This results in higher product quality and faster fixes for customer-reported issues.
  • The introduction of a new Citrix UPS Print Driver Certification Tool ensures much higher standards for the stability and performance of third party drivers that aspire to become Citrix certified drivers.

 Scalability Improvements to the XenApp and XenDesktop 7.11 Printing Subsystem

  • Enhancements in the Citrix printing modules substantially reduce the resource consumption (threads, handles and memory) on the Citrix Universal Print Server and the VDA.
  • Improvements in the caching of printer data on the VDA for both network and client printers optimize the user experience and reduce network traffic.
  • Enhancements to multi-threading algorithms drive higher throughput on the Citrix Universal Print Server resulting in more print jobs per minute.

As a result of the stability and scalability improvements in XenApp and XenDesktop 7.11, the UPS maximum suggested workload has more than doubled from 40 jobs/minute in XenApp 6.5 to 80+ jobs/minute with XenApp and XenDesktop 7.11. These improvements also directly impact the user’s session logon process by reducing user session logon time.

Below is the PerfMon output of the “Jobs Created per Minute” Citrix performance counter averaging out to ~100 jobs per minute for an 18+ hour test cycle on XenApp 7.9

PerfMon output of the “Jobs Created per Minute”
PerfMon output of the “Jobs Created per Minute”

Printing Features Available in XenApp and XenDesktop 7.11 but Unavailable in XenApp 6.5 or in VMware Horizon deployments

1. The Citrix Universal Print Server (UPS) solution has been expanded to include load balancing and failover support of the Citrix Universal Print Servers to address the scaling requirements of an enterprise deployment of the Citrix printing solution.

In this blog we would like to offer a glimpse from a soon-to-be-released KB article that describes the scalability improvements in UPS in detail. The graph below shows how the Load Balancing feature performed in a large-scale test scenario simulating a real life environment with 2304 users across 48 XenApp servers utilizing 16 UPS instances.

Number of user sessions per UPServer
Number of user sessions per UPServer

As you can see, all UPS instances are equally loaded and all users are logged in.  To demonstrate the failover, UPS instances UPServer06 and UPServer11 are subjected to a Forced Shutdown at the hypervisor level so that they would be seen as completely failed. As a result of this failure, the failed server connections in the existing XenApp sessions are dynamically redistributed to the remaining available UPS servers leaving existing and new users unaffected by the UPS failure.

Number of user sessions per UPServer after redistribution
Number of user sessions per UPServer after redistribution

In summary, the Citrix printing subsystem on each XenApp server:

  • Is able to correctly load balance the printer connections to the Citrix UPS servers, thus allowing enterprises to scale their printing solution to any size by simply adding an optimum number of Print Servers
  • Is able to identify a problem with existing UPS servers and, without Administrator intervention, it is able to automatically redistribute all the existing broken network printer connection across all its XenApp sessions to the other available Citrix UPS servers

In XenApp 6.5, only one UPS server is supported, so it is much harder to scale since a large number of users are restricted to a single UPS server. Further, the failure of that single UPS server will make the network printers unavailable and printing will stop working for the existing sessions until the Printing Administrator intervenes by restarting the UPS server and the existing user sessions. In contrast, the Load-Balanced UPS solution in XenApp 7.11 will allow for significantly increased scalability and a potential failure of a UPS server will likely go unnoticed for the existing users in their sessions because the Citrix Printing subsystem on each VDA will automatically correct itself and adjust the printer connections to point to an available UPS server, without any administrator intervention.

2. The newly added Citrix PDF Universal Printer Driver generates PDF format files and enables printing to Citrix Receiver for HTML5 and Receiver for Chrome.

Citrix PDF UPD User Interface
Citrix PDF UPD User Interface

3. The existing EMF and XPS UPD drivers expose new functionality in the printing preferences interface that give users full access to the rich set of XML Print Ticket features such as stapling and paper source selection and to native driver features such as secure PIN printing.

Figure 2 Stapling in Citrix Universal Printer Driver
Stapling in Citrix Universal Printer Driver

4. The enhanced “Local Settings” option included with UPD can be very useful when there is a need to support vendor-specific proprietary features available with native printer drivers. The local settings capability works by calling the native printer driver configuration settings from the client endpoint, the local native driver user interface is then displayed (reverse seamless) within the Citrix session, allowing the user to make the necessary changes and passing the new print job settings to the Citrix UPD in session. One common example of a printer vendor proprietary setting is Secure PIN-based printing.

Figure 3 Citrix Universal Printer Driver “Local Settings” Button
Citrix Universal Printer Driver “Local Settings” Button

Once in the native driver Printer preferences dialog, you can access and use any features specific to that driver

Figure 4 Accessing Native Driver Features through Citrix Universal Printer Driver “Local Settings” Button
Accessing Native Driver Features through Citrix Universal Printer Driver “Local Settings” Button


In conclusion, the Citrix Universal Print Driver radically simplified printing with XenApp 6.5. The recent improvements in the 7.11 release build on this by significantly improving the robustness of the printing subsystem while adding new printing features making XenApp and XenDesktop 7.11 the preferred Citrix printing solution.

See Also
Citrix Universal Print Server load balancing in XenApp and XenDesktop 7.9
Citrix Blogs: Load Balancing in XenApp and XenDesktop 7.9
CTX142119: Citrix UPS Print Driver Certification Tool