How to get PCoIP with View 4 to work every time!
A few folks have run into issues with View 4 where PCoIP doesn’t work exactly as they expect. This manifests itself in a couple of different ways:
- Inability to resize the screen at all
- Resizing that only works down instead of up.
- Resizing that responds very slowly or that crashes after several resize attempts.
- Inability to switch between full-screen and windowed.
There are also known issues with the .NET framework, where applications based on this code will not render correctly if it was installed before the View Agent.
The following is a set of steps which will ensure that a pool that you create will have all of the correct PCoIP functionality:
- Install View4 on a supported platform. (vSphere U1 or VC/ESX 2.5/3.5 U3-U4)
- Create your VM (Windows XP, Vista or Windows 7)
- Make sure the VMtools was installed first, then the View Agent and then .NET framework.
(If any of this was done in the wrong order, or if you don’t know for sure, uninstall all 3, and install from scratch in that order) - In View Manager, set this desktop up as an “individual desktop” and entitle it.
- Make sure you have the PCoIP settings for monitor and max resolution set the way you want them in the pool.
- Log in once and make sure the basics work.
- If PCoIP/Screen resizing isn’t already working (VI3.5), logout of the desktop, and use the “reset” option from inside of View Manager.
(If you rebooted by clicking shutdown>restart in the VM, re-read the previous line.) - Log in again and make sure screen resizing works.
- Shutdown the VM
- Take a Snapshot
- Remove the individual VM assignment from View Manager
(If you don’t do the previous step, it won’t show up as an available parent in the pool creation process.) - Create your pool normally and it should work as expected.
PCoIP is very dependent upon the appropriate amount of video memory being allocated to the VM. Since this is a virtual hardware setting (that needs to be in place before the VM starts up), it is applied as a change in the VMX file. If the VM has already been started, it’s essential that this VM be restarted so that the VMX file is re-read and the changes are used. Simply using “Shutdown>Restart” inside the VM will not force the VMX to be re-read, as this doesn’t cold boot the machine (from the VC perspective) to refresh the virtual hardware.
Using the Shutdown/Reset from either VC or View Manager (which issues the command via VC) is the best way to make sure this file gets read properly.
Once the appropriate video memory settings are in place for your parent VM, you can create a pool based on this VM and machines in that pool will properly inherit these VMX settings on first boot.
(Kudos to my colleague Todd Dayton who wrote all this down!)
// Joel









