How to use multiple virtual monitors if host has a single monitor?

My host has a single physical monitor but I need to reproduce a bug in an application that requires two monitors, each having a different scaling factor.

VMWare provides documentation for cycling through multiple virtual machines but it requires the host to have multiple physical monitors.

How can one cycle through multiple virtual monitors with a single physical host monitor?

UPDATE: The guest is Windows 10. The host is either Windows or MacOS.


Solution 1:

With some effort I've managed to configure multiple virtual monitors using VMWare Workstation for a Windows 10 guest.

Host:

  • Windows 7 Pro x64
  • VMWare Workstation Pro 12.5.9 build-7535481

Guest:

  • Windows 10 Pro 1709 x64 with all updates and current VMware Tools installed

VMWare Virtual Machine Display Settings:

  • 3D graphics → checked Accelerate 3D graphics
  • Monitors → selected Specify monitor settings
    • Number of monitors: 4
    • Maximum resolution of any one monitor: 1920x1080
  • Graphics memory: 256M
  • Display scaling → unchecked Automatically adjust user interface size ...

Preparations

  • Start the Windows 10 guest
  • Don't use Full Screen
  • From VMWare Workstation's menu select ViewAutosizeCenter Guest

Configuration inside the Windows 10 guest machine:

Right-click on the Desktop, select Display settings and set the resolution to 800x600 (simply to better see the additional monitors created in the following steps).

Now you will notice that nothing happens if you click the Detect button under Multiple Displays.

Note: In previous Windows versions you were offered an option "try to connect anyway on: VGA" if the display was not detected.
This might be a bug (or feature) introduced with Windows 10 Version 1703. There is a Microsoft Technet Question providing more information.

However, you can still force this by following the next steps:

  • Run the following command: displayswitch.exe
  • Alternatively simply use the Windows + P hotkey (inside the Guest !)

This will bring up the Project settings plane. Choose Extend:

Windows 10 Project Settings

Et voilà, now you have two monitors:

Windows 10 VMWare guest with two virtual monitors

And of course you now also see the usual multiple display options in the Display Settings.

In order to add the third monitor, press Detect. This will create a new box labeled Display not detected. You have to click on that box so that it gets highlighted in blue:

Windows 10 VMWare guest detect additional virtual monitor

Now scroll down to Multiple Displays section and change the selection in the drop-down box from No display detected to the bottom-most entry Try to connect anyway on: VGA:

Windows 10 VMWare guest connect to undetected virtual monitor

Repeat this process for additional monitors.

You can also align the monitors to your liking:

Windows 10 VMWare guest with 4 virtual monitors