The VMware PCoIP ‘Killer App’

Posted by Jim Moyle on September 2nd, 2009

VMware Logo

With the announcement of the inclusion of the PC over IP (PCoIP) Teradici in VMware View this week at VMworld.  I think that there is something people may be missing.

The big disadvantage of the original hardware to hardware PCoIP implementation was that each connection to the server required it’s own Teradici card.  This is obviously not a scalable solution.  As the software to software solution is unveiled at VMworld, the attention seems to be on the fact you can get the performance without stuffing your servers full of Teradici cards.  To my mind the software to software approach has a big flaw, you need power on the client. Power on the client means either a full PC on the other end, which defies the point, or a really expensive thin client.

The real key would be to go from software to hardware.  A software client on the server communicating with a hardware Teradici chip on the client.  You could avoid all the issues of managing the ‘almost PC’ modern thin clients and go back to the cheap, minimal management, devices I think thin clients should be.

I’m curious as to why this is not being made more of as the client devices are already there like this one from Samsung and if you look at the Teradici video on Brian Maddens site they say it will work.

As the devices get cheaper, maybe down to about $200 with the great performance of PCoIP I can see this being the ‘killer app’ for VMware in this space.

Citrix XenApp ICA Client Installation, Tuning and Troubleshooting Guide

Posted by Jim Moyle on August 4th, 2009

Citrix Receiver IconEdit: This post is relevant up to 11.2, Citrix changed everything with 11.2 :) Look for an update sometime in the future.

Generally the ICA client doesn’t get much attention, undeservedly so in my opinion.  So I decided to make this guide as a quick reference sheet for all you need to know about the Windows client for Citrix XenApp.

Most people install the client when they set up their first farm and forget about it, maybe upgrading with a major server refresh.  The people who leave old clients on their desktop estate are missing out on a whole lot of functionality.  So my first and most basic bit of advice is to upgrade your clients!

As the first bit of advice is to upgrade I’ll show you how to best do that below.  The rest of this post will only be relevant for clients from 10.2 onwards, if you have an earlier client, I’m sorry, but this post isn’t for you.

For a complete list of the features included in the latest client have a look at the Citrix Client Feature Matrix PDF.  Hopefully the new cool stuff (and the weird errors from supporting a mess of clients) has persuaded you to upgrade your desktop estate to the latest client which at the time of writing is the ‘XenApp Plugin for Hosted Apps’ 11.000.

A lot of administrators don’t even know which client versions they have out there, and unfortunately Citrix doesn’t help you very much in this regard, as it only shows the build numbers for connected clients and not the version numbers i.e. version 10.2 shows up as 02650.  In XenApp 5.0 and later, this client build number can be seen by selecting the user session in the Access Management Console and selecting the Client Build Number column.  So now you need to know what the build numbers mean.  The knowledge base article CTX112613 will give you this information.

Obviously once you have decided to upgrade your clients you need a way to distribute them.  To do this your standard software distribution method will be fine.  To create a silent installation download the latest client to your local drive and run the following command:

msiexec.exe /a XenAppHosted.msi

This will give you all the options you need to create a silent installation package tailored to your enterprise ready for distribution.

If you run into issues with upgrading clients and need a clean machine for install you can use the free tool from Gourami to remove all traces of the client from 2000/XP/Vista or Windows 7 machines.  If you aren’t comfortable with the tool you can use CTX325140.

So, now you have an estate of updated clients, but you need more granular control over the client behaviour.  You can get this by using a GPO, first you need to import the handy icaclient.adm administrative template. You can usually find it in “C:\Program Files\Citrix\ICA Client\Configuration”.  With this template you can control almost all aspects of the client behaviour, with the one weird exception being that you cannot manage the pnagent url.  The main topics in the template are:

  • Network routing
  • User Authentication
  • Remoting Client Devices
  • User Experience
  • Client Engine

In most cases this should be enough to sort out most of your problems, if you have any niggling connectivity issues you should use the Troubleshooting ICA 32-bit and Web Client Connectivity CTX075552 article.

At the time of publishing there is a tech preview of flash remoting available on Citrix’s website, all I can say is it works superbly given the restrictions of the fact it is beta code.  Stick it in your test environment and have a go.  For more information on the future of protocols see my previous post: How games will show who is the remote protocol winner.

Finally, I have some tuning tips for your environment, I think most of these should probably be in the icaclient.adm file, but we’ll see if they make it into a future release.  If anybody has any more client side tips, please let me know in the comments and I’ll add them to the table.

Description Key Value Name Value
Automatically repair clipboard chain
CTX112434
HKEY_LOCAL_MACHINE\SOFTWARE \Citrix\ICA Client\Engine\Configuration\Advanced \Modules\WFClient
CbChainInterval
<value> 0-2000 valid
Prevent long logon script time breaking session sharing

CTX114379

HKEY_LOCAL_MACHINE\SOFTWARE \Citrix\ICA Client\Engine\Configuration\Advanced \Modules\WFClient\
ucConnTimeout
<string value> needs to be >20
Log the Launch.ica file to a Client Local File
CTX115304
HKEY_LOCAL_MACHINE\SOFTWARE \Citrix\ICA Client\Engine\Configuration\Advanced \Modules\Logging
LogFile=<path to file to log to that you want, use following format C:\ica\ica.log>
LogICAFile=true
Disable selected virtual channels from the client side
CTX116890
HKEY_LOCAL_MACHINE\SOFTWARE \Citrix\ICA Client\Engine\Configuration\Advanced \Modules\ICA 3.0
Remove relevant value
Revert to 9.x printing behaviour for a specific driver
CTX115553
HKEY_LOCAL_MACHINE\Software \Citrix\ICA Client
ReprocessEMFDriverList
<driver name>
Allow more than 20 client files open from a client mapped drive

CTX117315

HKEY_LOCAL_MACHINE\ SOFTWARE\Citrix\ICA Client\Engine\Configuration\Advanced \Modules\ClientDrive
MaxOpenContext
<value> eg 50
Prevent a seamless window from permanently hiding a minimized taskbar

CTX821811

HKEY_LOCAL_MACHINE\ SOFTWARE\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Seamless Windows
TWIShrinkWorkArea
Value: 5
Allow Custom Virtual Channels in ICA after upgrading from an earlier client

CTX113279

HKEY_LOCAL_MACHINE\ SOFTWARE\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Third Party\CustomVC
VirtualChannels “”
How to use print screen in ICA sessions

CTX113344

HKEY_LOCAL_MACHINE\ SOFTWARE\Citrix\ICA Client\Engine\Configuration\Advanced \Modules\WFClient
ICAPrntScrnKey
<value> eg F12
Make a seamless window the focus as soon as it activates

CTX112499

HKEY_LOCAL_MACHINE\ Software\Citrix\ICA Client\Engine\Configuration\Advanced \Modules\WFClient
TWISeamlessFlag
1

Lastly, although this is not strictly a client side change, if you are accessing a XenApp Server on Windows 2008 with a client version less than 11.0 you will need to install KB949914 on the server to stop your clients crashing.

How games will show who is the remote protocol winner

Posted by Jim Moyle on June 18th, 2009

CallOfDuty_WorldatWar

If remote protocols are almost exclusively used in regard to business applications, why are games important?  The reason is that if I try and think of what would be the hardest thing to do over a remote protocol, it would be to play games with the same quality as you would see them on your desktop.

Of course I’m not talking about web based flash games, I mean full on, high frame rate with lots of 3D and explosions, all in DirectX with HD sound games, actually lets add some kind of TeamSpeak in there too.

There are two goals in respect to remoting protocols:

  • Get desktop behaviour no matter the application over the LAN
  • Scale the fidelity of the connection according to the bandwidth and endpoint device

The first case is the one I want to talk about, VDI and TS vendors need to be able to prove that their remote protocol can cope with any type of application or companies are not going to be convinced that the old bugbears of bad sound and choppy video poorly synced are over.

If people are out there touting the ‘better than desktop experience’ line I want to see it and as yet the performance just isn’t quite there.

When Microsoft bought Calista back at the beginning of 2008, I had hopes that the features they were working on would have made it into RDP by now, but they just announced that their remote DirectX technology isn’t going to make it into final release.

VMware have the software Teradici stuff in the works and I have no doubt something from Citrix is out there.

The wild card as regards remote protocols go is a company called OnLive who plan to provide games over the cloud remoted to your PC.  I’ve no clue how it works, but I’m anxious to see.

Wouldn’t it be interesting to see someone get up on stage and demo a game over a remote protocol?  I wonder who’s going to be first?  I would say that in the court of public opinion, even if not quite in the technical detail (silverlight etc) then they would have ‘won’.

I’ve always had customers ask me, why can’t I just use VOIP over Citrix, when it works to talk to my niece in Oz?  Once we have good quality bi-directional audio the second device on the users desktop can disappear.  Once we have rich multimedia, users will no longer have to manage without seeing that great presentation from their CEO :).

People are talking about Avistar at the moment in regards to this, but from the brief time I’ve had to look at it I think it requires some kind of broker server in the middle.  So if anyone can enlighten me a bit more about exactly what they do and how they do it, please leave me a comment.

Edit:  It seems I’m not the only one thinking about protocols

Virtualization Display Protocol Wars

Brian Madden on Calista


Copyright © 2007 JimMoyle.com. All rights reserved.