VMware Communities
jakkan
Contributor
Contributor
Jump to solution

Custom high resolution in Windows 7 guests?

I have previously used Windows 2000 guests in VMWare. But recently I decided to update my guests to Windows 7. One bump in the road is that I haven't been able to create the same screen resolution in Windows 7 as I had in Windows 2000. I want to have 3200 x 1600 resolution.

In Windows 2000 I set the maximum guest resolution in VMWare to 1600 x 800 and the number of monitors to 2. Inside of the guest OS I didn't see the number of monitors or anything. I just saw a screen resolution bar that goes to 3200 x 1600. That was perfect!

In Windows 7 it doesn't matter what I set the guest resolution in VMWare to. I try setting it to 1600 x 800 and the number of monitors to 2. But inside of the guest OS I still get that one monitor can go up to 2560 x 1600 and the other monitor can go up to 1600 x 1200. These numbers stay the same independent of what values I put into VMWare!

I would like to have either:

-as I had in Windows 2000, one screen resolution bar that went all the way up to 3200 x 1200 (that was perfect); or

-two monitors with maximum screen resolution 1600 x 1600 (or four at 1600 x 800)

Is there any way to fix this? Is there any way to make the Windows 7 guest OS responsive to the screen resolution setting I set in VMWare?

Host OS: Windows 7 Professional

Guest OS: Windows 7 Professional

VMWare Worstation version: 7.1.0

Processor: Q6600

0 Kudos
1 Solution

Accepted Solutions
admin
Immortal
Immortal
Jump to solution

Oh, okay. I didn't realize your host resolution was smaller. I assumed you had two 1600x1200 monitors on the host.

You could try using the VMwareResolutionSet.exe (it comes with VMware Tools). I think the syntax should be something like:

VMwareResolutionSet.exe 0 1 , 0 0 3200 1200

(Note the spaces around the comma.)

View solution in original post

0 Kudos
9 Replies
admin
Immortal
Immortal
Jump to solution

Yes, the settings you put into the VM's Display properties is independent from the resolutions that you see in the guest. The "number of monitors" and "maximum resolution" settings actually configure the maximum frame-buffer size and the amount of VRAM for the virtual hardware.

If you want to have a VM that's 3200x1200 or 2 1600x1200 monitors, it sounds like you should be using full screen mode with View > Preferences > Display > Full screen > Autofit guest enabled. The VMware Tools then will change the guest resolution automatically. (If you don't want to use full screen mode, you can enable View > Autofit Guest and resize the VMware Workstation window to 3200x1200.)

jakkan
Contributor
Contributor
Jump to solution

Thanks for trying to find a solution to the problem jameslin! This is the last unfixed issue that I have left before I can move my guests from Windows 2000 to Windows 7! I will be very happy and grateful when we find a resolution to this problem.

I have attached four images to illustrate the problem better. The images are from two guests, one using Windows XP (behaves the same as Windows 2000) and the other one using Windows 7 (where I have the problem).

Both guests have:

svga.numDisplays = "2"

svga.maxWidth = "6400"

svga.maxHeight = "3200"

svga.vramSize = "134217728"

In the Windows XP guest OS I can set the resolution for each monitor to 3200 x 1600, as can be seen in one of the screen shots.

The Windows 7 guest OS doesn't care(!) what values I have entered into the .vmx file (vmware guest settings). Independently of what resolution I enter, be they higher or lower than normal, the guest doesn't care(!). The maximum resolution for the primary screen is always(!) 2560 x 1920 and the maximum resolutions for the other screens are always(!) 1600 x 1200.

Why is this? How can make Windows 7 react to the screen settings in the .vmx file?

I figured I'd try adding screen reolutions to Windows 7 by changing the registry as described in:

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003

But search couldn't find the vmx_svga entry in my registry.

I have also attached screen shots that show the drivers used on each guest. On XP it is VMWare SVGA II. On Windows 7 it is SVGA 3D. I don't know if this matters. I added the screen shots in case you would be able to make any sense of the information. I have 3D acceleration enabled on both machines. Disabling 3D acceleration in Windows 7 does not make the guest responsive to the screen reolution changes in the .vmx file.

I am very grateful for help on solving this problem, thank you!

0 Kudos
RParker
Immortal
Immortal
Jump to solution

The Windows 7 guest OS doesn't care(!) what values I have entered into the .vmx file (vmware guest settings).

Either does remote desktop, that's what Microsoft enabled RDP for, so it's independent of console screen. In the future, use remote desktop, and these types of limitations won't affect you.

Also before you say "yes but we need console access, and sometimes we can't use remote desktop all the time".

That's fine, but RDP is a better option for this. Windows 7 is limited to 1 user at a time anyway, so it doesn't matter if it's console or remote, its the same session.

0 Kudos
jakkan
Contributor
Contributor
Jump to solution

Is this a limitation and not a (fixable) problem? I figured since I can use VMWare to affect the screen resolution of Windows 2000 and Windows XP guests I should be able to do so for Windows 7 guests as well?

Is this an unfixable problem that everybody using Windows 7 guests has? Will it be fixed with future updated to VMWare Workstation? Or is there a fix to the problem already?

0 Kudos
admin
Immortal
Immortal
Jump to solution

Can you use Autofit Guest and avoid dealing with the guest's display property page entirely?

0 Kudos
jakkan
Contributor
Contributor
Jump to solution

Wouldn't really solve the problem. I want a higher screen resolution on the guest than I have (and is possible) on the host, e.g. 3200 x 1600.

0 Kudos
admin
Immortal
Immortal
Jump to solution

Oh, okay. I didn't realize your host resolution was smaller. I assumed you had two 1600x1200 monitors on the host.

You could try using the VMwareResolutionSet.exe (it comes with VMware Tools). I think the syntax should be something like:

VMwareResolutionSet.exe 0 1 , 0 0 3200 1200

(Note the spaces around the comma.)

0 Kudos
jakkan
Contributor
Contributor
Jump to solution

Thank you very much jameslin! You have made my week!

If you would I would be very interested to find out:

- why wasn't I able to change the resolution without using the VMwareResolutionSet.exe file?

- what do all of the parameters (0 1 , 0 0) mean?

If you don't know the answer to any of these questions, I am still very happy. You have solved my problem!

0 Kudos
admin
Immortal
Immortal
Jump to solution

If you would I would be very interested to find out:

- why wasn't I able to change the resolution without using the VMwareResolutionSet.exe file?

- what do all of the parameters (0 1 , 0 0) mean?

Windows has a set of resolutions it knows about. If you want custom resolution, you need to add it to some list in the registry (or at least that's the way it used to work; I'm not familiar with the exact details). I think normally this list is populated by the video driver and the monitor (which in this case is a virtual one), but currently I don't think that's based on the "maximum resolution of any one monitor" setting, and we otherwise have no way of knowing what possible resolutions you want. It's probably something we can improve.

As for those parameters, they're meant for multiple monitor configurations. (So I think "0 1 , 0 0 3200 1200" means that you want 1 monitor in the guest with #0 as the primary one (0-indexed), and the first monitor should have coordinates (0, 0) and should have dimensions of 3200x1200.)