VMware has heard about screen re-sizing issues when using the PCoIP protocol. Same goes for me. I have heard about this on vSphere and VI3 platforms with View4. Symptoms are;
You cannot resize the screen,it doesn’t resize automatically, resizing only works down instead of up etc.
In February 2010 a VMware KB came out around this; KB1018158, This KB describes How to prepare your template for using the PCoIP protocol.
I will copy paste the whole KB and afterwards tell you about my experiences and things to keep in mind. So far this has been working fine on vSphere and VI3, 3.5 with XP.
To ensure that a pool has all of the correct PCoIP functionality:
- Install View 4 on a supported platform (VMware vSphere 4 or VMware Infrastructure 3.5 Update 3 or 4).
- Create a Windows XP, Windows Vista, or Windows 7 virtual machine.
- Ensure that VMware Tools is installed, then install the View Agent, then the .NET framework.Note: The order is important. If you install any of these applications in the wrong order, or if you do not know the order in which they were installed, uninstall all 3, then reinstall in the correct order.
- In View Manager, set this desktop up as an individual desktop and entitle it.
- Ensure that you have the PCoIP settings for monitor and max resolution set the way you want them in the pool.
- Log in once and ensure that the basics work.
- If PCoIP or screen resizing is not already working, logout of the desktop and use the Reset option from inside of View Manager.Note: Do not reboot by clicking Shutdown > Restart in the virtual machine. PCoIP is dependent upon the appropriate amount of video memory being allocated to the virtual machine. Since this is a virtual hardware setting (that needs to be in place before the virtual machine starts up), it is applied as a change in the .vmx file. If the virtual machine has already been started, it is essential that this virtual machine be restarted so that the .vmx file is re-read and the changes are used. Using Shutdown >Restart option inside the virtual machine does not force the .vmx to be re-read, as this does not cold boot the machine (from the VirtualCenter perspective) to refresh the virtual hardware. Using theShutdown > Restart option from either VirtualCenter or View Manager (which issues the command via VirtualCenter) is the best way to make sure this file gets read properly.
- Log in again and make sure screen resizing works.
- Shutdown the virtual machine.
- Take a Snapshot.
- Remove the individual virtual machine assignment from View Manager.Note: If you do not perform this step, the virtual machine does not show up as an available parent in the pool creation process.
- Create your pool. It should work as expected.Note: When the appropriate video memory settings are in place for the parent virtual machine, you can create a pool based on this virtual machine and machines in that pool properly inherit the .vmx settings on first boot.
I have to say, I always do follow this KB until point 3. The most important part is the order of installation of VMware Tools, View Agents and .Net. Follow that order for sure. After that, I edit the VM’s properties in vCenter and change the properties of the virtual Video card; by default it is set to 4MB of RAM and I manually set it to 128MB. In vSphere this is very easy to do through the vCenter Client. In VI3, 3.5 you will have to manually change it in the .vmx file.
Keep in mind though, till vSphere 4 Update 1 you can’t set the Video card RAM to anything above 30MB. You could but VMotion of the VM’s will fail when the vRAM is over 30MB: KB1011971.
After the vRAM has been changed to 128MB and I use this VM to roll out a pool (Full or Linked Clone), when I’m using the View Manager to add a pool, I always set the Display Settings to 4 monitors and the maximum resolution of 2560×1600. Screen resizing works every time.