I use VMWare Workstation extensively. I use it for all kinds of activities - developing, testing Windows behavior when I do weird stuff, installing software that I need but I know I will never install on my real machine, you name it. It works fine and one of the things I like the most is the pause/resume ability. I need only a couple of seconds to resume a paused machine test something and then pause it again till the next time. Today I needed to do just that but over remote desktop. I logged on my remote machine and started the Workstation Console. When I tried to resume the specific VM I got this error message:
The frame buffer layout of the current display cannot be made to match the frame buffer layout stored in the snapshot. The dimensions of the frame buffer in the snapshot are: Max width 2560, Max height 1770, Max size 18153472. The dimensions of the frame buffer on the current display are: Max width 2360, Max height 1770, Max size 16777216.
Error encountered while trying to restore the state of group SVGA from file "C:\Users\****\Documents\Virtual Machines\Win Xp\Windows XP Professional1.vmss".
When I clicked OK it allowed me to preserve my paused state:
Your virtual machine did not resume because of a correctable error. To preserve the suspended state so you can correct the error after the virtual machine is powered off, select Preserve.
To discard the suspended state, select Discard
That was not ok. I needed this machine running. After a while I realized that my remote machine has two monitors so my total desktop size is exactly 2560x1024. What was going on is that my remote desktop session was configured to Full screen and that means only 1280x1024 desktop size. Somehow my paused state depends on that whenever I resume my machine to have the original desktop size I was when I did the pause on the VM. This issue is very easy to fix. I needed to connect with more desktop size to my remote machine.
One way to do it to start "mstsc.exe /span /v:RemotePCName". This way I will get the desktop size of the remote machine.
The other way to do it to specify exactly what is the desired screen size using /w: /h: as parameters. In my case
"mstsc.exe /w:2560 /h:1024 /v:RemotePCName".
This is useful if you have paused a machine and you can't get it up because you have removed a monitor for example. You borrow one of you colleagues machine for a minute and remote connect to your PC specifying the screen size. After the resume is successful you just go your PCs console or just start a normal remote desktop connection at Full screen.
Note: This works for Remote Desktop Client 6.0.