WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
    • VMware Cloud Foundation 9.1
    • VMware Cloud Foundation 9.0
  • VKS
  • Homelab
    • Hardware Options
    • Hardware Reviews
    • Lab Deployment Scripts
    • Nested Virtualization
    • Homelab Podcasts
  • VMware Nostalgia
  • Apple

Heads Up - Workaround for changing Mac OS X VM display resolution in vSphere & Fusion

10.22.2015 by William Lam // 51 Comments

For customers who are running Mac OS X 10.9 (Mavericks) or newer in a Virtual Machine, you may have noticed that you can no longer set a custom display resolution beyond the default 1024x768 in either VMware Fusion and vSphere, regardless of the amount of video memory that has been allocated. The reason for this behavior is that Apple has changed the way in which it remembers previously used modes and would automatically fall back to this versus retaining the custom mode using the Display Preferences. Given this is a non-trivial fix, VMware Engineering has been working hard on a providing a workaround which would still allow users to set a custom resolution from within the GuestOS.

The workaround that has been developed is a tiny standalone command-line utility called vmware-resolutionSet which runs within the Mac OS X Guest and allows you to configure a custom display resolution. You will need to ensure you have VMware Tools installed and running before you can use this utility. As of right now, customers can get a hold of this utility by filing an SR with VMware Support and referencing PR 1385761. Although this tool has not been officially released and must go through the standard release process, the plan is to include it in a future update of VMware Tools and will available for use with both VMware Fusion and vSphere.

UPDATE (12/11/15) - Thanks to reader @elvisizer, it looks like the latest VMware Fusion 8.1 release now includes an updated version of VMware Tools (10.0.5) which includes the vmware-resolutionSet utility. You can find it under '/Library/Application Support/VMware Tools'. One thing to note is that there is a known issue right now for VMware Fusion 8.1 related to NAT and port forwarding, you may want to hold off on upgrading if you rely on this feature.

Screen Shot 2015-12-11 at 10.55.18 AM

The syntax for the vmware-resolutionSet utility is pretty straight forward, it accepts a width and height argument. Make sure to use "sudo" if you want the display resolution to persist through a system reboot. For example, to set a 1920x1080 resolution, you would run the following command:

./vmware-resolutionSet 1920 1080

change-mac-osx-vm-display-resolution-vsphere-fusion-0
Note: Ensure you have sufficient video memory configured for your VM for larger display resolutions. In the example above, I have 16MB configured for my Mac OS X VM which would give you a max resolution of 2560x1600. 

If everything was successful, you should see that both the "Requested resolution" and the "Effective resolution" match in the output. If output does not match, it most likely means you need to increase the video memory and you can refer to this VMware KB 1003 for more details. If we take a look at our Mac OS X VM, we should now see that our new custom display has taken effect. Below is a screenshot of a Mac OS X 10.11 (El Capitan) running on vSphere 6.0 Update 1 configured with a 1920x1080 resolution.

change-mac-osx-vm-display-resolution-vsphere-fusion-1
One other thing to note is if you plan on using higher display resolution than 2560x1600, you may need to configure some additional VM Advanced Settings due to use of framebuffers that are larger than 16MB. In this case, you would need to also add the following two advanced settings to the VM which can be done using the vSphere Web/C# Client or the vSphere API. For example, if I want a 2880x1800 display resolution, I would add the following:

svga.maxWidth = "2880"
svga.maxHeight = "1800"

Lastly, I would like to give a big thanks to Michael Udaltsov, the Engineer who is responsible for creating the workaround and providing me with some additional context to this change in behavior. I know our customers will greatly appreciate this workaround!

Categories // Apple, ESXi, Fusion Tags // apple, ESXi, fusion, osx, resolution, vmware-resolutionSet

New method of enabling Multiwriter VMDK flag in vSphere 6.0 Update 1 (UI + API)

10.19.2015 by William Lam // 22 Comments

Prior to vSphere 6.0, in order for multiple Virtual Machines to share a VMFS-backed VMDK, the Multiwriter VMDK flag must be enabled, which is accomplished by adding a specific VM Advanced Setting as shown in this VMware KB 1034165. For customers who were accustomed to this old method, you may have found that this option no longer works. This was true regardless if you had used the vSphere Web/C# Client or the vSphere API to apply the configuration.

To provide for a better user experience, this behavior was changed in vSphere 6.0 and a new API was introduced for enabling and disabling the Multiwriter VMDK flag. In vSphere 6.0, there is now a new sharing attribute on the Virtual Disk backing property which accepts one of two values: sharingMultiWriter or sharingNone for specifying the Multiwriter flag. In my opinion, this is a positive change as we too often rely on the VM Advanced Setting as a generic "catch all" for enabling or configuring various settings versus adding proper APIs to a VM.

Although there is now a proper API which will can help enable new Automation use cases, one thing that was still lacking was an easy way to enable the Multiwriter VMDK flag using the UI. In vSphere 6.0 Update 1, we have now introduced a new UI dropdown option called "sharing" in the vSphere Web Client for configuring the Multiwriter VMDK flag which can be found in the Virtual Disk section when editing a VM as shown in the screenshot below.

Screen Shot 2015-10-16 at 10.19.05 AM
Note: The new Sharing property is only available in the vSphere Web Client UI and is not available in the vSphere C# Client. If you need to configure the Multiwriter VMDK flag and do not have access to the vSphere Web Client, you can use the vSphere API to help automate this configuration change.

UPDATE (06/27/16) - Created two scripts which now cover scenarios where VM is online and/or offline.

For those interested in Automating the Multiwriter VMDK flag, I have created two PowerCLI scripts called: configureMultiwriterVMDK.ps1 (offline VM configuration) and addMultiwriterVMDK.ps1 (online VM configuration) which demonstrates this new vSphere API.

The first script configureMultiwriterVMDK.ps1 allows you enable the Multiwriter Flag for an existing VMDK that has already been added to a VM. This operation must be done while the VM is powered off and to use the script you will need to specify the name of the VM as well as the label of the VMDK in which you wish to enable the Multiwriter VMDK flag (e.g. Hard disk 2). Below is an example of running the script.

Screen Shot 2015-10-16 at 8.24.46 PM
The second script addMultiwriterVMDK.ps1 allows you to hot-add a new VMDK and enables the Multiwriter Flag to a VM. This operation is done while the VM is powered on which is a common workflow for customers needing to hot-add storage to an existing Cluster solution such as Oracle RAC for example all while the system is running. To use the script, there are a few variables you will need to edit:

  • vmName - The name of the VM you wish to perform th operation on
  • vmdkFileNamePath - This is the full datastore path to the name of the underlying VMDK. See the script for more information but the syntax will look like "[datastore-name] vm-home-dir/vmdk-name.vmdk"
  • diskSizeGB - The capacity of the VMDK to add (GB)
  • diskControllerNumber - The SCSI controller number (0-3)
  • diskUnitNumber - The Unit number (0-16)

Categories // Uncategorized Tags // multiwriter, vmdk, vSphere API, vsphere web client

Building minimal vSphere demo lab using VMware Fusion/Workstation with only 8GB memory?

10.16.2015 by William Lam // 7 Comments

After tweeting this update last week, I received quite a few questions on how I was able to squeeze a vCenter Server Appliance (VCSA) & ESXi 6.0 Update 1 along with a VMware Photon VM, all running on my Mac Book Air with only 8GB of memory. Although, I was not able to make use of my demo which was for my vSphere Content Library session at VMworld Europe this week; I thought I would still share the details on how I built this vSphere lab environment which could come in handy for others.

I was able to squeeze VCSA 6.0 & ESXi 6.0 Update 1 & Photon VM on Mac Book Air w/only 8GB of memory. Chrome & terminal ran fine as well!

— William Lam (@lamw.bsky.social | @*protected email*) (@lamw) October 7, 2015

I wanted to run everything on my Mac Book Air primarily for the convenience factor so I did not have to bring my Mac Mini which may not be ideal for traveling aboard. The performance and responsiveness of the environment was actually pretty good and I was able to also access the vSphere Web Client using Google Chrome as well as OS X terminal for CLI operations without any problems. It definitely helps if you place all VMs on SSDs, which is especially useful if swapping occurs since we are overcommitting the physical memory.

minimal-vsphere-demo-lab-on-fusion-or-workstation-with-only-8GB-of-memory-3
Below are the instructions for building this environment and here is a quick summary of the expected memory configuration for the three VMs.

Virtual Machine Memory
Embedded vCenter Server Appliance VM 5GB
ESXi VM 3GB
Photon VM 384 MB

Step 1 - Download the VCSA & ESXi 6.0 Update 1 ISO (or any other version you wish to run). You will need to extract the contents of VCSA ISO and the OVA is located in /vcsa/vmware-vcsa and you will need to add the .ova extension.

  • Source: Ultimate automation guide to deploying VCSA 6.0 Part 1: Embedded Node

Step 2 - We will need to configure memory overcommitment for VMware Fusion/Workstation to allow for the majority of the memory to be swapped to be able to run our minimal vSphere environment. You will need to set the value of prefvmx.minVmMemPct to 25 by adding the following line to the respective configuration file shown in the table below.

prefvmx.minVmMemPct = 25

Hypervisor Configuration File
VMware Workstation C:\ProgramData\VMware\VMware Workstation\config.ini
VMware Fusion /Library/Preferences/VMware\ Fusion/config
  • Source: Quick Tip – How to enable memory overcommitment in VMware Fusion?

Step 3 - Deploy the VCSA OVA to either your VMware Fusion or Workstation deployment and ensure you do not power on the VM. We will need to make the following edits to the VCSA's VMX file to ensure it is properly configured when it is powered on. Below is an example of the VMX parameters you will need to add before powering on the VM.

guestinfo.cis.deployment.node.type = "embedded"
guestinfo.cis.vmdir.domain-name = "vghetto.local"
guestinfo.cis.vmdir.site-name = "vghetto"
guestinfo.cis.vmdir.password = "VMware1!"
guestinfo.cis.appliance.net.addr.family = "ipv4"
guestinfo.cis.appliance.net.addr = "192.168.1.54"
guestinfo.cis.appliance.net.pnid = "192.168.1.54"
guestinfo.cis.appliance.net.prefix = "24"
guestinfo.cis.appliance.net.mode = "static"
guestinfo.cis.appliance.net.dns.servers = "192.168.1.1"
guestinfo.cis.appliance.net.gateway = "192.168.1.1"
guestinfo.cis.appliance.root.passwd = "VMware1!"
guestinfo.cis.appliance.ssh.enabled = "true"

  • Source: Quick Tip – How to enable memory overcommitment in VMware Fusion?

Step 5 - Once the VCSA has successfully been configured and you can connect to it using the vSphere Web Client, you can then power it off and reduce the memory from 8GB to 5GB.

Step 4 - Create a new VM using the ESXi 6.x GuestOS type for running your Nested ESXi VM and stick with the defaults of 4GB of memory to be able to install ESXi. Once the VM has been created, go ahead and install ESXi using the ISO as you normally would.

Step 5 - Once the ESXi VM has successfully been installed and booted up, you can then power it off and reduce the memory from 4GB to 3GB.

Step 6  (Optional) - If you wish to play with VMware Photon, you can also install Photon using the ISO which can be downloaded from here or deploy using the OVA which can be downloaded from here.

For folks who have more memory in their system, you could add an additional two Nested ESXi VMs to then run a full VSAN setup and then you will have a pretty powerful, with minimal resource footprint that you can bring with you anywhere to run demos or for development and testing purposes. I also highly recommend making use of the "Suspend" operation when you need to quickly get access to memory or run other applications and this also allows you to quickly resume the entire environment in just a few seconds without having to power down the entire setup which will take much longer.

Categories // Apple, Fusion Tags // apple, ESXi, fusion, Photon, vcenter server appliance, VCSA, vcva, workstation

  • « Previous Page
  • 1
  • …
  • 386
  • 387
  • 388
  • 389
  • 390
  • …
  • 611
  • Next Page »

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • VCF 9.1 - Quick Tip: Uninstalling Optional Day-N Components 06/11/2026
  • VCF 9.1 - Deploying VCF Operations for Networks to non-Management Network 06/10/2026
  • VCF 9.1 - Quick Tip: Forgot to Retrieve Auto-Generated Passwords from VCF Installer? 06/09/2026
  • VCF 9.1 - Configuring vSphere Supervisor to use VCF Identity Broker (IDB) for External Identity Federation 06/08/2026
  • VCF 9.1 - Quick Tip: Understanding VCF Installer Default Behavior for VCF Patch Releases 06/07/2026
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.

To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2026

Loading Comments...