Tuesday, April 8, 2014

Configuring OpenGL Software Accelerator for Citrix XenApp 6.5

I’ve noticed that a few of my colleagues and clients have asked me about how to improve the performance of applications such as Google Earth on Citrix XenApp 6.5 servers last year which lead me to realize that I never wrote a blog post about it.  Some administrators probably already know that Citrix XenDesktop 5.6 has the Google Optimization pack that allows a user to run Google Earth in DirectX mode with a much faster rendering experience but with Citrix XenApp.  From what I’ve read, the recommended method is to use the OpenGL Software Accelerator because it allows more than 1 user accessing the XenApp server to use the acceleration as compared to DirectX.

I’m not sure what other people’s experience is but I find that without the OpenGL Software Accelerator installed, Google Earth launched in OpenGL mode never worked properly for me.  The globe would also be rendered black on the screen for me:

image

The rendering of the frames would be so slow that it would not be usable for someone with normal patience.

To speed up the rendering performance to a level that is more tolerable, the OpenGL Software Accelerator can be installed and the documentation can be found here:

http://support.citrix.com/proddocs/topic/xendesktop-7/hd-opengl-accelerator.html

image image

You’ll need a valid Citrix login to download the XenApp 6.5 Feature Pack 2 that bundles the OpenGL Software Accelerator:

image image

One you’ve downloaded the XA5_6FP2.zip file, unpack it and you will see the following folders:

image

I’ve been asked several times what’s the difference between the 32bit and 64bit bundled DLL file and I can honestly say I’m not sure as I haven’t come across documentation that clearly outlines the difference.  What I believe is that this if for the version of the software that will be using OpenGL and not the operating system.  The reason why I think this is the case is because the acceleration works if I use the 32bit opengl32.dll but when I try to use the 64bit, Google Earth (a 32bit program) doesn’t even launch (you double click on the icon and nothing happens).

With that out of the way, the following are the differences between the 32bit and 64bit opengl32.dll files:

32-Bit opengl32.dll

image

image image

64-Bit opengl32.dll

image

image image

The installation of the opengl32.dll file is quite simple and there is a bundled install.pdf file located in the OpenGLAccelerator folder:

image

image image

As the document states, you essentially have to replace the opengl32.dll file in the C:\Windows\SysWow64 folder on the XenApp server and because it is a protected file, you will need to take over the ownership of the file in order to either rename, delete or overwrite it.  I personally prefer to rename it by putting a ~ in front of the file in case I ever needed to revert back to the old file.

image

With the file replaced, you should now notice an improvement in the Google Earth rendering speeds.  My personal experience is that the DirectX driver for XenDesktop feels like it performs a tad better than the OpenGL accelerator.

From a bandwidth consumption perspective, the test I’ve done with the network engineer still shows that navigating around Google Earth can get up to around 5Mbps and sometimes while panning around maps such as Paris, I could get it to spike up to 10Mbps.

1 comment:

Anonymous said...

this was great. I will be attempting to perform the steps in the next couple of weeks and your post is very helpful. thanks!