VMware Communities
svenmerget
Enthusiast
Enthusiast

Workstation Pro 17 multi-monitor only works with 3D acceleration off

I'm on Workstation Pro 17, on a Windows 11 host, running a Windows 11 guest. Works reasonably well, except for some stuttery audio issues that I haven't been able to resolve yet. For good audio I RDP into the guest, and that's fine, but in RDP the session is kind of slow. Trying to get the direct session working better, and there's one problem that I haven't been able to find a good solution for yet.

Works fine in a window, and in full-screen on one monitor. My host is a laptop and via docking stations it finds itself in various multi-monitor situations, sometimes with the laptop screen also open, with up to 3 monitors in use at a time. In all 2 or 3 monitor configurations I've seen so far over the past week, I've seen the same behavior: full-screen the guest, hit the "Cycle multiple monitors" button, and all that happens is a flicker in the guest (goes black for a moment and returns), and the host does the new Windows "monitor configuration changing" animation where the whole host desktop zooms out slightly, then zooms back in. The guest does not move to another monitor, nor span/extend to another monitor. Hit the button again and same thing happens, but this time the foreground window in the guest (e.g. Edge) maximizes as if the resolution had been reduced drastically (even though it's unchanged). Hit it again, and the same thing happens again but the foreground window in the guest goes back to restored state. Back and forth like a toggle, but no multi-mon is happening.

Didn't take me long to find that turning off 3D acceleration in the VM Display settings fixes the problem. Now multi-monitor works correctly, and the full-screen presentation cycles as designed, except of course that the overall guest UI is more laggy.

I prefer to have the acceleration turned on, but when I want to span the guest I either have to resort to RDP via a host-only adapter connection between host and guest, or shut down the guest, turn off 3D acceleration, and start the guest.

Is there any other workaround? Maybe some magic setting in the VMX that allows 3D acceleration to remain on and makes multi-monitor work? A weak hope, but worth asking, thanks for any responses!

11 Replies
charmainel
VMware Employee
VMware Employee

Which version of VMTools that you are running with? Please upload vmware.log

0 Kudos
svenmerget
Enthusiast
Enthusiast

VMWare Tools version is 12.1.5, build-20735119.

Attached is a ZIP with 2 log files from separate repro runs:

  1. Host system in a configuration with 2 monitors, spanned (extended). One is 4K, the other is 2K (the laptop internal display).
  2. Started VM with 3D acceleration enabled, went full-screen, logged in, tried "Cycle multiple monitors" several times (unsuccessfully, as previously described), and shut down the VM. See vmware (3d accel on).log
  3. Changed same VM's settings to turn off 3D acceleration, changing no other settings. Repeated the same procedure of starting the VM, going full-screen, using "Cycle multiple monitors" (successfully), and shutting down. See vmware (3d accel off).log
0 Kudos
banackmatt
VMware Employee
VMware Employee

From the vmware.logs I can see that the guest side of this is succeeding, but then being reverted shortly afterwards. Can you add some VMX configs to enable more logging, and also collect the UI log? First make a backup of your .vmx file to be safe, then add these with the VM powered off. You only need to use the 3d-on configuration. guestInfo.svga.wddm.miniportLogging="TRUE" guestInfo.loglevel.vm3d.miniport="10" guestInfo.loglevel.vm3d.vidpn="10" guestInfo.svga.wddm.verboseTopologyLogging="TRUE" guestInfo.svga.wddm.usermodeLogging="TRUE" guestInfo.loglevel.vm3d.devapi="10" guestInfo.loglevel.vm3d.service="10" This issue may be sensitive to a few things below. Ideally you would close WS to rotate the UI log, then reopen it and repro with some variations of the below, then collect the UI log and vmware.log. The UI log should be located in %TEMP%\vmware-USERNAME\vmware-ui-xxxx.log (get the most recent one). 1) which host monitor the VM is on before fullscreening / cycle monitors. 2) the host monitor topology layout, ie where your internal display is relative to the external displays -- putting it at the topleft position of the host topology is the least error prone, so it's worth trying that as a test. 3) UI dark mode, try turning it off if it is on.
0 Kudos
banackmatt
VMware Employee
VMware Employee

(My post did not get formatted well for some reason, trying again)

From the vmware.logs I can see that the guest side of this is succeeding, but then being reverted shortly afterwards. Can you add some VMX configs to enable more logging, and also collect the UI log? First make a backup of your .vmx file to be safe, then add these with the VM powered off. You only need to use the 3d-on configuration.

guestInfo.svga.wddm.miniportLogging="TRUE"
guestInfo.loglevel.vm3d.miniport="10"
guestInfo.loglevel.vm3d.vidpn="10"
guestInfo.svga.wddm.verboseTopologyLogging="TRUE"
guestInfo.svga.wddm.usermodeLogging="TRUE"
guestInfo.loglevel.vm3d.devapi="10"
guestInfo.loglevel.vm3d.service="10"

This issue may be sensitive to a few things below. Ideally you would close WS to rotate the UI log, then reopen it and repro with some variations of the below, then collect the UI log and vmware.log. The UI log should be located in %TEMP%\vmware-USERNAME\vmware-ui-xxxx.log (get the most recent one).
1) which host monitor the VM is on before fullscreening / cycle monitors.
2) the host monitor topology layout, ie where your internal display is relative to the external displays -- putting it at the topleft position of the host topology is the least error prone, so it's worth trying that as a test.
3) UI dark mode, try turning it off if it is on.
0 Kudos
svenmerget
Enthusiast
Enthusiast

OK thanks banackmatt, I'll perform the additional logs collection over the weekend.

Do note that today the app offered to upgrade to 17.5 and I let it. Also upgraded the VM hardware compatibility version, agreed to allow upgrading the TPM encryption, and after booting the VM ran VMTools setup to upgrade. VMTools is now at v12.3.0.

A quick test showed that the issue is unaffected, so no improvement from the upgrade itself, which makes sense since the changelog seems to concentrate on improvements in encryption, nothing about video/3D etc. in the summary I was presented.

Also note (in response to the comments about internal display arrangement in relation to other displays), that I've also reproed this problem with the laptop closed (internal display off) and 2 identical external displays attached and arranged in a simple default side-by-side with no vertical offset, and with the same scaling/dpi setting on both monitors. One time (only one time) in this configuration, the cycling actually worked and I briefly had the VM showing full-screen across the 2 external monitors, but when I tried to cycle to verify, it stopped working again.

In any case, will get the extra logs and perform the suggested actions with my home setup, which is a large 4K monitor plus the laptop internal 1920x1200 display.

0 Kudos
svenmerget
Enthusiast
Enthusiast

OK, done, see attached. Shut down VM, closed WS, added the lines to the vmx, started WS and the VM (with 3D acceleration on), in full-screen mode, and played around:

  1. With laptop screen closed and 2 identical external 1900x1200 displays attached, tried to cycle monitors while VM was full-screen on one monitor, then while it was full-screen on the other one.
  2. Opened laptop screen (which is also 1900x1200), so that the host was extended onto 3 monitors, and repeated the attempt to cycle monitors while the VM was full-screen on the laptop monitor, and while it was full-screen on one of the external monitors. Instead of the "cycle" button I was presented with a selection to choose layout. First I chose a 2-screen layout (layout 2), then a 3-screen layout (layout 3 or 4, depending on which screen the VM was on). In every case layout 1 remained marked as "current" in the list.
  3. Since all 3 screens are the same native resolution, playing with topology makes less sense, but I tried stacking all 3 vertically (vs. the default horizontal layout), and also horizontally with offsets.
  4. Finally, re-closed the laptop screen and arranged the external displays into their normal side-by-side setup, and switched from Dark Mode to Light Mode in Windows Personalization. Again tried cycling monitors while the VM was full-screen on each of the 2 monitors.
  5. Shut down VM, closed WS, before collecting the log files.

None of the attempts to cycle worked, there was just lots of flickering across the screens, and a "device disconnected" sound each time from the VM (I think), like when you unplug a USB device. Same sound happens when switching between full-screen and windowed, or changing the window size.

I'll remove the extra lines from the vmx.

0 Kudos
robonlineshoppi
Contributor
Contributor

Thank you for posting this! I have been running my VMs via Linux and RDP, but I wanted to try running it via my Windows machine so I can avoid RDP since it can be laggy, however I ran into the exact same issue you have.

Just an FYI, I am running a Nvidia card (4090) with dual 4K monitors, one of them is setup as FreeSync. 

0 Kudos
svenmerget
Enthusiast
Enthusiast

Mine is a laptop with Intel Iris Xe graphics, no discrete graphics. Monitors vary from 1 to 3, depending on whether I'm docked at home, at the office, or not at all, and they are a mix of 1920x1280, 1920x1024, and 3840x2160. Display scaling settings vary, but generally it's set to 100% for the lowest of these resolutions, 100 or 125% for the medium one, and 150% for the 4k display.

0 Kudos
robonlineshoppi
Contributor
Contributor

Well I honestly didn't think to disable the 3D acceleration, and doing so fixed it for me as well. Yeah there is some lag, but I'm using it for web development so it's working just fine for me. I do hope they figure it out, I have a feeling it's because it's working along with the hypervisor platform.

0 Kudos
robonlineshoppi
Contributor
Contributor

It's been quiet regarding this issue, and I have not seen any updates from the team, though they were just purchased by Broadcom... hopefully that isn't a bad sign...

0 Kudos
robonlineshoppi
Contributor
Contributor

Any updates on this? My version is up to date, yet I am having the same behavior.

0 Kudos