Skip to main content

My session at NVIDIA GTC 2013

Hi All


I am pretty excited about this blogpost, last week I was at NVIDIA GTC in San Jose, California. I was invited by NVIDIA to come and talk about my experience with delivering 2D/3D apps with remote graphics solutions from Citrix. In this session I cover the history of remote graphic solutions from Citrix (XenDesktop, XenApp and XenServer) and whats possible to do today with the technologies and how the collaboration is together with NVIDIA. You get an understanding how to build the solution on a high level and then I tell about 4 real world examples, where you get key insights for determining if these solutions are the right for your company.

You will learn how Vestas have been using this technology with Citrix XenDesktop HDX 3D Pro since 2008, and how Ramboll uses this for several years and what they gained of implementing remote graphics solutions globally. The third case is a very excited story, which is a POC I did at an Oil client and in this case ,we used the new NVIDIA GRID K2 with Citrix XenDesktop HDX 3D Pro and Citrix XenApp HDX 3D + the new OpenGL GPU sharing feature and how this works together with thin clients and collaboration software from CISCO UC, so the business are able to take their 3D application from their desktop session, and share this to a collaboration room and then share this with multiple screens to multiple locations globally and work in 1 place with people and technology combined in place. Amazing stuff. The last case study is how Raysearch Lab have been using Citrix XenDesktop HDX 3D Pro to their clients for several years and how they make the world a better place with their software for cancer treatment.

Citrix XenApp 6.5 OpenGL GPU Sharing Feature Add-on

Citrix have released an amazing new feature to Citrix XenApp 6.5, it’s OpenGL GPU sharing “tadaaa”.

Derek Thorslund have written a great blog post about this new feature on their Citrix Blog

I have been testing this new feature and its truly amazing to see how powerfull this new feature works. You are now able to run multiple users that use 2D/3D CAD,CAM,CAE application on either bare metal attached with a GPU or with VM’s attached with a GPU with GPU pass-through (Citrix XenServer 6.x or VmWare vSphere 5.1) This lowers the cost dramatically and removes some load from the CPU, which some 2D/3D applications used if they supported software rasterizeof OpenGL and most important it delivers an amazing user experience for the user on any device on even poor bandwidth. Citrix XenDesktop HDX 3D Pro is still the top of the flagship when it comes to local user experience, because of the high frame rate it delivers and the deep compression codecs that works great over high latency connections and most important if customers requires 3DConnexion SpaceMouse, this special mouse is working with USB redirection with Citrix XenDesktop and this does not work with Citrix XenApp you have this requirement.

You can now build solutions with XenApp & NVIDIA GRID K1/K2 and increase the user density for the 2D/3D app workloads. Imagine you have 1 server with typically 2 NVIDIA GRID K2 cards. Virtualize the server with either Citrix XenServer 6.x or VmWare vSphere 5.1 and create 4 VM’s with Citrix XenApp 6.5 and attach each Citrix XenApp 6.5 VM’s to a GPU with GPU pass-through. So total 4 Virtual machines and the beauti comes here. Instead its 4 users accessing 4 VM’s you can max out the GPU and in many cases its the CPU cores thats the limitation or the memory or even more important the iOPS. Cause iOPS will be the bottleneck many times in these new solutions, so remember to design this properly. To measure the GPU, Memory, CPU, iOPS, Network load i recommend you use Microsoft Process Explorer this great tool can give you the numbers realtime.

I have made a video of the user experience with different OpenGL applications running on a virtualized Citrix XenApp 6.5 with Citrix XenServer 6.1 GPU pass-through to a NVIDIA GRID K2. I can tell you its truly amazing to see how powerfull this GPU is, the GRID K1/K2 are the GPU’s that will supports the upcoming VGX hypervisor from NVIDIA.

Comments from Citrix early Tech Preview participants have been very positive and informative:

  • I tested ten OpenGL applications including some Tier 2 apps/games with OpenGL GPU Sharing on XenApp 6.5 and it works brilliantly.
  • On a system with two NVIDIA Q4000 cards we ran 18 users (ten in one XenApp VM and eight in another VM) using a test app that works with ESRI ArcGIS, and we still had space for more.
  • Our customer purchased a new dedicated Dell server with an NVIDIA Quadro 6000 and we installed XenApp 6.5 with the OpenGL GPU Sharing feature add-on to test Dassault SolidWorks. The customer said this is “AWESOME”! They said it makes a huge difference; it looks and responds just like at the console. In some cases it performs better than their dedicated desktop systems! They are really impressed.
  • Running Dassault SolidWorks, Ansys Workbench and Fluent, our tests indicate that customers will hit a CPU limitation before they hit a GPU processing limit or GPU RAM issues. We first tested using an NVIDIA Quadro 4000 card. We got good performance numbers per GPU as the models are not overly complex. Scalability was 6 to 10 users per Q4000. With the new NVIDIA GRID K2 card it seems that the CPU will be the limiting factor. Currently our test XenApp servers have eight cores and around 16-32GB of RAM depending on the application.
  • We tested on the NVIDIA Quadro 6000 card (448 CUDA cores) with four users all running our most complex animation. The animation runs for 166 seconds with one user. With four users it took just three seconds longer!  Considering our timing is manual stopwatch, the margin for error basically says no slowdown with four users. In fact, the Quadra 6000 was able to support 30 users running Dassault 3DVIA Composer Player with only minor slowdown. At 33 users a few users started to experience jerky motion, but the app was still usable. 40 sessions seems to be the limit.  The GPU was maxed, not the video memory.  My test case was users running the animation non-stop, whereas in real world usage the animation is like a training video and it has forced pause points, so real users would stop at times to read or do work. The point is that the test was harder on the graphics card than the real world is, yet we could run about 30 concurrent users on a Q6000.

I am attending NVIDIA GTC, so if you are in the area stop by my session on the topic Successfully Delivering 3D Graphics Solutions for Your Business and hear my experience, I have with implementing Citrix XenApp HDX 3D & XenDesktop HDX 3D Pro solutions at customers. I will share amazing customer stories never told before. I recommend that you see Derek Thorslund session  Delivering 3D Graphics from the Cloud with XenApp and XenDesktop VDI.

More about the Citrix XenApp 6.5 OpenGL GPU Sharing Feature Add-on

OpenGL GPU sharing is a feature add-on to XenApp 6.5 to enable graphics processing unit (GPU) hardware rendering of OpenGL applications in Remote Desktop sessions. This functionality can be used on bare metal or virtual machines to increase application scalability and performance. The Citrix XenApp 6.5 OpenGL GPU Sharing Feature Add-on  is available for download from Select Product > XenApp and Download Type > Components

HDX 3D allows graphics-heavy applications running on XenApp to render on the server’s GPU. By moving OpenGL rendering to the server’s GPU, the server’s central processing unit (CPU) is not slowed by graphics rendering. In addition, the server is able to process more graphics because the workload is split between the CPU and GPU. The XenApp 6.5 OpenGL GPU Sharing Feature Add-on requires no special settings, but is available only on servers with a GPU that supports a display driver interface (DDI) version of 9ex, 10, or 11.

You can install multiple GPUs on a XenApp server, either by installing a graphics card with more than one GPU, or by installing multiple graphics cards with one or more GPUs each. Mixing heterogenous graphics cards on the server is not recommended.

Note: Virtual machines require direct passthrough access to a GPU, which is available with Citrix XenServer or VMware vSphere. When HDX 3D is used in conjunction with GPU passthrough, each GPU in the server supports one multi-user XenApp virtual machine. 

Most users do not require the rendering performance of a dedicated GPU, so OpenGL GPU Sharing enables multiple concurrent sessions to share GPU resources. This functionality does not depend any specific graphics card. When running on a hypervisor, select a hardware platform and graphics cards that are compatible with your hypervisor’s GPU passthrough implementation. The list of hardware that has passed certification testing with XenServer GPU Passthrough is available at When running on bare metal, XenApp distributes the user sessions across eligible GPUs; to guarantee that all installed GPUs are eligible, use identical GPUs. Scalability using OpenGL GPU Sharing depends on the applications being run, the amount of video RAM they consume, and the graphics card’s processing power. For example, scalability figures in the range of 8-10 users have been reported on NVIDIA Q6000 and M2070Q cards running applications such as ESRI ArcGIS. These cards offer 6 GB of video RAM. Newer NVIDIA GRID cards offer 8 GB of video RAM and significantly higher processing power (more CUDA cores). Other applications may scale much higher, achieving 32 concurrent users on a high-end GPU.

Note: Some applications handle video RAM shortages better than others. If the hardware becomes extremely overloaded, this could cause instability or a crash of the graphics card driver. Limit the number of concurrent users to avoid hitting the ceiling on resource allocation.

To install OpenGL GPU Sharing on a XenApp 6.5 server

The XenApp 6.5 OpenGL GPU Sharing Feature Add-on can be installed on any XenApp 6.5 system, regardless of which hotfixes are already installed. However, Citrix recommends that you install Hotfix Rollup Pack 1 or above before installing OpenGL GPU Sharing. This feature add-on is packaged with Microsoft Windows Installer 3.0 as a .msp file.

For more information about deploying .msp files, see Microsoft article 884016 or visit the Microsoft Web site and search on keyword msiexec. This installer program complies with Microsoft User Account Control (UAC). If UAC is enabled, you must run the installer program in elevated mode; that is, with administrative privileges enabled. For more information about UAC, see Microsoft TechNet or visit the Microsoft Web site and search on keyword UAC. To install this feature add-on successfully, servers must not have registry modification restrictions in place.

Citrix XenApp 6.5 OpenGL GPU Sharing Feature Add-on uses the Hotfix Rollup Pack Installation Wizard to install the feature add-on. 

  1. Copy the feature add-on package to an empty folder on the hard drive of the XenApp server.
  2. Close all applications.
  3. Run the executable

The following files are copied to your system:

XenApp 6.5 OpenGL GPU Sharing Feature Add-on

  • %PROGRAMFILES(X86)%\Citrix\System32\CtxGraphicsHelper.dll
  • %PROGRAMFILES(X86)%\Citrix\System32\CtxGraphicsHelper64.dll 

The following Registry entries are automatically created:

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Graphics Helper]

“Flag”=dword:00000014 “FilePathName”=”C:\\Program Files (x86)\\Citrix\\system32\\CtxGraphicsHelper64.dll”

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] “Flag”=dword:00000014 “FilePathName”=”C:\\Program Files(x86)\\Citrix\\system32\\CtxGraphicsHelper.dll”

4. Restart the server.

To try experimental GPU acceleration for CUDA or OpenCL applications

Citrix XenApp 6.5 OpenGL GPU Sharing Feature Add-on also provides experimental support for GPU acceleration of CUDA and OpenCL applications running in a user session. This support is disabled by default, but you can enable it for testing and evaluation purposes.

To use the experimental CUDA acceleration features, enable the following Registry

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Graphics Helper]
\Graphics Helper] “CUDA”=dword:00000001

To use the experimental OpenCL acceleration features, enable the following
Registry setttings:
[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Graphics Helper]

\Graphics Helper] “OpenCL”=dword:00000001


Download OpenGL GPU Sharing Feature Add-on for Citrix XenApp 6.5 here (Require MyCitrix ID)

Read the documentation of the OpenGL GPU Sharing Feature Add-on for Citrix XenApp 6.5

VDI Smackdown v 2.0 available

Ruben Spruijt (CTP, MVP, vExpert) have updated the awesome whitepaper “VDI Smackdown” to version 2.0. I highly recommend to read this whitepaper if you have VDI or are looking at getting VDI. This is a great comparison.

About VDI Smackdown v.2.0 whitepaper

The latest solutions included in the feature matrix are: Citrix XenDesktop 5.6FP1, Citrix VDI-in-a-Box 5.2, Dell vWorkspace 7.6, Microsoft RDVH Windows8/Server 2012 and VMware View 5.2; The English whitepaper can be downloaded here. The Japanese version will be available as soon as possible.

Empowering the end-user by giving access to Windows, Web and Mobile applications so he can access data and information systems from both private and public datacenters regardless of the device or location is the ultimate strategic objective.
The delivery of the classic (Windows) desktop interface can be divided in two segments:

  • the classic desktop and laptop, running Windows, Linux or Mac OS X;
  • the virtual desktop running in the datacenter or local on the classic workstation.

In essence “desktop virtualization” is the de-coupling of the desktop, operating system and the applications from the underlying endpoint or device. This kind of virtualization can be subdivided into two types:

  • With the first type applications are executed remotely, server hosted, and presented at the endpoint via a remote display protocol.
  • With the second type applications are executed at the endpoint, client-side and presented locally.

Making Windows, Web and Mobile applications available to the end-user, regardless of the technology being used, is an important strategic objective of an advanced IT infrastructure. The Virtual Desktop (vDesktop) is an essential component in the range of Application and Desktop delivery solutions and in essence, it provides the following functions:

  • Flexibility: Detach the vDesktop from the endpoint; Several vDesktops can be used next to one another
  • BYO: enables delivery of applications and desktops for BYO scenario’s;
  • Access: vDesktop works independently of location, endpoint and network;
  • Security: Server Hosted – VDI; data in the computing center;
  • Freedom: Every user can have his own desktop with administrator privileges when needed;
  • Management: Centrally managed and hardware independent;
  • Legacy: It is simple to offer legacy applications on a state-of-the-art platform;
  • Sustainability: Power Management, handling the necessary resources in an efficient manner

The transition to a dynamic and optimized desktop is causing many IT organizations to reevaluate traditional IT operations, deployment, delivery, packaging, support, and management methods.
Desktop virtualization is a key component in the optimized desktop. It’s important to have a Vision and Strategy around application and desktop delivery and enterprise mobility. Designing, building, managing and maintaining the desktop virtualization infrastructure using the right Technologies, corresponding vendors and products is an important step. We see a lot organizations primarily focusing on products and vendors and lacking a clear and profound vision and strategy. This approach is fine for a point solutions but a proper vision and strategy is crucial for a vNext optimized desktop. How can the vision and strategy be successful? Success = Vision x Execution x Adoption!

The following discussions and corresponding topics should be part of the optimized desktop strategy:

  • What are the use-cases? Does the use-case require Desktop Virtualization?
  • VD-why, what do you want to achieve, a business enabler, overall cost of ownership (TCO) and cost reducer?
  • What is the business-case? What do you expect as a ROI?
  • How do you deliver applications to users in a Bring Your Own (BYO) or Choose Your Own (CYO) scenario?
  • What’s your desktop delivery and migration strategy for Windows 7/Windows 8?
  • What’s the user experience using Multimedia, Video/Voice, 2D/3D applications?
  • Is Unified Communications and VoIP functionality within VDI needed? Is it supported by the VDI and UC-vendor?
  • What are the user expectations of the vDesktop? Are users involved in a proof of concept and pilot? What are their acceptation criteria?
  • What endpoints do we support and facilitate and what is the role of these devices in the end-user experience? Are the endpoints managed by the IT organization?
  • Do you want to deliver windows and web applications to mobile devices such as tablets and smartphones via VDI? What does the user wants? What is your enterprise mobility strategy?
  • What is the impact of Secure Access and Secure Networking solutions on mobile devices while connecting to the vDesktop? What is the user experience with these secure access solutions?
  • Is there a supported agent for the OS/endpoint? What is the User Experience with this agent? What is the feature and future roadmap of these agents? Is agentless via HTML(5) included and important?
  • Is image deployment and management part of the (virtual) Desktop Strategy?
  • How do you design and build the user’s profile and his ‘workspace’? Does Application virtualizationfit into this strategy? The ‘User Environment Management’ Smackdown can be helpful.
  • Do we need a vMachine based image management solution? How do we design, build and maintain the (golden) Image(s)?
  • Do you need context awareness? Based on user/role, device, location and various settings is access to application resources controlled and enforced when needed?
  • What is your application readiness assessment strategy? Are Windows 7, Windows 8, VDI, application virtualization and x64 included?
  • How are Windows applications delivered within the vDesktop? Unattended or manual installation, application virtualization or the applications are part of the (golden) image? What is the strategy?
  • Does the end-user needs the ability to install and update applications? Is User Installed Applicationsfunctionality needed? Does the user have the correct privileges to install or update software?
  • Do you need local or centralized storage? What storage optimization (IOPS/latency) technology is being used?
  • What is the VDI impact on storage and how does it affect the business case?
  • Do we focus on stateless (non-persistent) and/or stateful (hybrid/persistent) images? What is, for example, the impact on storage, manageability, security, legal and business-case?
  • Windows 8 or Windows 7 as core guest OS platform? x64 or x86?
  • How does the solution scale? What do we need from a scalability point of view? Is there a validated design?
  • What is the performance and bandwidth impact on the network infrastructure; LAN, WAN, WLAN, Mobile;
  • Licensing; VDI solution, guest and client operating system, Client Access Licenses and (Business) Applications.
  • Is Antivirus needed? Inside the VM or as layer on the Hypervisor? What is the real performance impactof Antivirus?
  • Is the VDI solution as a whole highly available? Is that built-in or are additional planning and solutions needed to get high availability? Is a highly available vDesktop needed?
  • Is the IT department able to adopt the technology with right knowledge and skills? What subject matter experts are needed to get and keep the VDI solution up and running in production environment? Is this expertise available? Who has overview of the complete VDI solution stack?
  • How does the desktop virtualization solution fit into existing deployment and management tools?

Bottom Line: What’s your current Enterprise Mobility and Desktop Delivery strategy?! 

Get a head start! Download our complete, in-depth, and independent whitepaper. We try to provide accurate, clear, complete and usable information. We appreciate your feedback. If you have any comments, corrections or suggestions for improvements of this document we want to hear from you! Feedback!? or twitter


Article at

Download VDI Smackdown v.2.0 here

Citrix XenApp 6.x HDX 3D with WOW on any device


In this video Thomas Poppelgaard shows how the User Experience with World of Warcraft & Citrix XenApp 6.5 HDX 3D is on any device, Dell Wyse Xenith, Dell Wyse Z90D7, Apple Macbook Air, Apple iPad 3 and Apple iPhone 4S

You will see how WOW can be played on any device that the game is not develop to even a serverplatform thats virtualized in the cloud and the game can be played on any device with Citrix Receiver.

About the solution:
The Citrix XenApp 6.5 is virtualized with Citrix XenServer 6.x and 1 Nvidia Quadro 4000 card is GPU pass-through to the XenApp 6.5 so HDX 3D is enabled. This way XenApp can use the GPU and share it to multiple users with applications that uses DirectX (Important OpenGL is not supported on XenApp 6.x HDX 3D) World of Warcraft “WOW” is installed on the server.

Citrix XenServer & Citrix XenApp 6.x is running on a Dell R5500 with multiple GPU’s
Read more about the Dell R5500 here

read more on my blog about HDX 3D and HDX 3D Pro from Citrix

Nvidia Quadro K5000 – the new card in town for HDX 3D and HDX 3D Pro

Hi all, i am so excited to share this news with you.

I love that Citrix released in Citrix XenDesktop 5.6 FP1 a new version of HDX 3D Pro, which reduced the bandwidth consumption and increased framerate, this is a huge improvement of the technology that i adore. A lot is happening in this space and soon we will see the new Nvidia VGX card that will be able to virtualize the GPU and have multiple users on 1 GPU. NVIDIA says they will be able to have 100 users using this card. For HDX 3D Pro i would cut that down to 10-20, why cause users that normal works with a card like the Quadro 4000 are using the 256 CUDA cores for 3D rich applications like Autodesk Inventor, Dassault Catia/Solidworks, ProE + more. Again time will tell when Nvidia VGX Model 1 is released and if i know NVIDIA right, they will ship cards with more powerful GPU chips on the VGX in the future.

Nvidia have released a Quadro graphic card thats based on the new Kepler technology.
The card is called Quadro K5000.

  • This card is 1/3 the price of the Quadro 6000 and look at the numbers it delivers in the chart i have created.
  • The CUDA cores it delivers are so impressive 3x more than Quadro 6000.
  • The Power consumption is 45% less than the most powerful Quadro card.

** update 22 February 2013

If you want to use the Nvidia Quadro K5000 with GPU pass-through the card is now supported from NVIDIA.

GPU pass-through is supported with Citrix XenServer 6.x and VmWare vSphere 5.1
Above is information confirmed from NVIDIA.

Look out for the Nvidia VGX K2 thats will be sold in Q1 2013. This card is 2x K5000 on 1 card and works with GPU pass-through.


Quadro K5000
Quadro 4000
Quadro 5000
Quadro 6000
VGX Model 1
CUDA Cores1
Single Precision Compute Performance
2.1 Teraflops
0,4 Teraflops
0,7 Teraflops
1,0 Teraflops
GPU Memory Specs
Memory Size Total
2.5 GB GDDR5
Memory Interface
Memory Bandwidth (GB/sec)
173 GB/s
89.6 GB/s
120 GB/s
144 GB/s
115 GB/s
Power Specs
Max Power
122 W
142 W
152 W
204 W
150 W
Dual Slot
Single Slot
Dual Slot
Dual Slot
Dual Slot


Read more about the NVIDIA Quadro K5000 graphic card