VMware Communities
dav0101
Contributor
Contributor

Force resolution of Windows 7

Hi,

I'm having some issues when running Win7 fullscreen.

Sometimes during boot / startup, the screen resolution becomes wrong, ~40px something height is missing.

Is there a way to force the resolution that the vmx image should run under?

Note; I use headless mode too, so what I did was

- configure my machine in fullscreen mode,

- made a snapshot

- restore to that one before starting

But sometimes (random) the resolution of the win7 instance gets another size then the native screen size of the Mac OS X Display.

any thoughts and ideas are welcome!'

best

David

Reply
0 Kudos
16 Replies
ColoradoMarmot
Champion
Champion

I see this with XP too - it resolves itself after startup.

Keep in mind that headless is unsupported.

Reply
0 Kudos
dav0101
Contributor
Contributor

Is there any settings that could be hard-coded into the .vmx file to force the resolution!?

This should be regardless of gui/nogui mode.

Option b)

Via vmrun, communicate (script) the win7 instance and ask for resolution and set it if wrong (from the os x side)

best

David

Reply
0 Kudos
WoodyZ
Immortal
Immortal

Keep in mind that headless is unsupported.

VMware Fusion 3.x contains a command line tool called vmrun and can start a Virtual Machine with the nogui parameter which means it runs headless and is supported!

Reply
0 Kudos
WoodyZ
Immortal
Immortal

Option b) Via vmrun, communicate (script) the win7 instance and ask for resolution and set it if wrong (from the os x side)

If you want to use vmrun and a scripted solution you can use SetRes to accomplish it.

Reply
0 Kudos
dav0101
Contributor
Contributor

Thanks for info. SetRes seems like a solution.

But I'm trying to figure out why vmware changes the resolution during boot.

Say if I use SetRes, question is when to run it. 10secs post boot, every minute, etc??

Found this config for the .vmx but it doesn't seem to do any difference:

svga.maxWidth = "2560"
svga.maxHeight = "1440"

other thoughts?

Reply
0 Kudos
dav0101
Contributor
Contributor

I'm also using:

gui.fullScreenAtPowerOn = "TRUE"
gui.viewModeAtPowerOn = "fullscreen"

Can this be a bug in vmWare that it consumes the screen estate I'm missing due to Mac OS X menu-bar + vmware application menu-bar?

Reply
0 Kudos
WoodyZ
Immortal
Immortal

But I'm trying to figure out why vmware changes the resolution during boot.

If you are talking about the initial changes of the Virtual Machine's Display where it goes from an off state through the BIOS POST and starting of the Guest OS, if yes then this is normal and expected and cannot be changed.

Say if I use SetRes, question is when to run it. 10secs post boot, every minute, etc??

You cannot execute SetRes via vmrun until the Virtual Machine is booted and at the Windows Desktop.  You can also set SetRes run automatically from within Windows itself when logging into the Desktop.

Found this config for the .vmx but it doesn't seem to do any difference:
svga.maxWidth = "2560"
svga.maxHeight = "1440"

VMware Fusion does not support the use of these Parameters|Values like VMware Workstation does.

Reply
0 Kudos
dav0101
Contributor
Contributor

there is no hidden trick under windows to use a script or existing .exe for this?

using vmrun:

- runProgramInGuest
or
- runScriptInGuest 
Reply
0 Kudos
WoodyZ
Immortal
Immortal

there is no hidden trick under windows to use a script or existing .exe for this?

Not that I know of.

Have you read: Using vmrun to Control Virtual Machines

What version of SetRes are you using?

What version of Windows 7 are you using?

What is the full vmrun command you're using and if a script a copy of the script?

Reply
0 Kudos
dav0101
Contributor
Contributor

> What version of SetRes are you using?

Not using SetRes currently

> What version of Windows 7 are you using?

Professional SP1

> What is the full vmrun command you're using and if a script a copy of the script?

I'm just using revertToSnapshot then start

I've read through the vmrun manual but there is no info about how to control the fusion-hosts resolution.

I mean it's Fusion that controls the resolution, now Windows.

If there is a windows/dos cmd for getting and setting resolution that would be an option. But window-mode vs fullscreen-mode is Fusion that's controlling. I need a way to script/control this.

best

David

Reply
0 Kudos
WoodyZ
Immortal
Immortal

I have to admit I was taken-aback by some of your answer as I though we were discussing changing the resolution of the Guest from within the Guest using SetRes having been executed via vmrun on the Host!?

To my knowledge there is no single native command line executable in Windows to manipulate the resolution and why the suggestion to use SetRes was made and executing it via vmrun or from the Startup Group.

As far as a script to control VMware Fusion and the Virtual Machine's View while not supported at the present time nonetheless VMware Fusion does contain a AppleScript Dictionary so you might be able to script it.  I know it's doable even without the AppleScript Dictionary however it might be more beneficial If I had a better picture of what your trying to do and why and what's not working the way you want as I really don't have a totally clear picture from what you've said so far and only responded because I know SetRes can change the resolution of the Guest from within the Guest.

Can you do a Screen Shot to capture the "~40px" thing you mentioned?

Reply
0 Kudos
dav0101
Contributor
Contributor

I tested to use

vmrun captureScreen

After boot up, the pc has a resolution of 2560 × 1600

But the Mac OS X host is running at 2560 x 1440

I really need the pc to run at 1:1 size, but can't figure out how to force it to do that.

Any thoughts?

best

David

Reply
0 Kudos
WoodyZ
Immortal
Immortal

There is obviously a communication problem going on here and I'm only responding at this point to say I have nothing else to offer as you have not provided the information requested or from what I can tell based on what you've said so far have not tried my suggestions!

So what do you expect me to say or do? (More of a rhetorical question so no need to reply.)

As I previous said and believe it would work... "If you want to use vmrun and a scripted solution you can use SetRes to accomplish it." or use SetRes from the Startup Group.  I understand that these are workarounds to whatever is causing the issue but sometimes one just has to employ a workaround otherwise you can try uninstalling/reinstalling, not modify/repair, VMware Tools and or uninstalling/reinstalling VMware Fusion.  Additionally if you have to create another Windows 7 Virtual Machine if only as a test to see if it too exhibits the unwanted behavior then that is a diagnostic/troubleshooting option to consider.

Reply
0 Kudos
dav0101
Contributor
Contributor

Hi,  I understand setRes will help, but question is when and why it doens't inherit the Mac's native resolution.

So if I run setRes, it will have to be called once every minute to be safe, this doesn't sound like a safe solution to me since I think it will cause other issues.

I tried now to change to Unity Mode, took a snapshot, suspend and restart.

Resolution after boot is now 2560 × 1418 pixels, huh !?

Now it's missing 22px

from vmx:

gui.fullScreenAtPowerOn = "FALSE"
gui.viewModeAtPowerOn = "unity"

What I really want is to be able to force vmware to tell the win-machine that there is only one resolution available.

best

David

Reply
0 Kudos
WoodyZ
Immortal
Immortal

I understand setRes will help, but question is when and why it doens't inherit the Mac's native resolution.

Not that I'm offering however without direct access to your system to examine things I can't say however have you tried uninstalling/reinstalling, not modify/repair, VMware Tools and or uninstalling/reinstalling VMware Fusion to see if that corrects the issue?  If not I have noting else to discuss.

So if I run setRes, it will have to be called once every minute to be safe, this doesn't sound like a safe solution to me since I think it will cause other issues.

Why would you need to run it ever minute or so?  Why don't you even try it?

I guess this is all just a case of contempt prior to investigation, a trait I dislike! Smiley Happy

Until you have tried my suggestions I have nothing else to offer!

Reply
0 Kudos
dav0101
Contributor
Contributor

allright Smiley Happy

Im using setres now via a bat-file that resides in Autostart.

works good during a reboot.

question still remains why vmware or windows7 sometimes decides to change the resolution after being up for a few days.

maybe something related to sleep

/d

Reply
0 Kudos