Posting an empirical investigation of the input-lag-with-3D-acceleration regression on VMware Workstation 17.6.x for Linux guests, in case it's useful for triage. Several threads here and elsewhere mention .vmx workarounds, but most appear to be silently ignored on current builds. Sharing what does and doesn't change selector behavior, with log excerpts.
REPRODUCER
----------
Hypervisor: VMware Workstation Pro 17.6.4 build-24832109
Host: Windows 11, NVIDIA Quadro, driver 573.91. No Optimus (BIOS set
to discrete-only).
Guest: Arch Linux, kernel 6.19.x, Mesa 26.0.x, X11 session, vmwgfx
kernel module loaded, xf86-video-vmware NOT installed.
Symptom: With mks.enable3d = "TRUE", typing/cursor input is visibly
laggy across the desktop. Disabling 3D restores responsiveness.
Matches user reports going back to mid-2024 17.6.x updates.
WHAT vmware.log SHOWS
---------------------
With 3D enabled, the renderer selector lands on the sandboxed Vulkan path:
MKSRenderMain: PowerOn allowed BasicOps ISB DX12 DX11 DX11Basic VK
MKSRenderMain: ISB enabled by config
ISBRendererComm: Sandbox Renderer: VKRenderer
MKSRenderMain: Found Full Renderer: ISBRenderer (VKRenderer)
The IPC boundary to mksSandbox.exe is the apparent source of the input
lag - disabling renderers until ISB cannot start makes the lag go away
(at the cost of falling out of full 3D, see below).
.VMX KEYS - EMPIRICALLY TESTED ON 17.6.4
----------------------------------------
For each key, the VM was fully shut down, the key added to the .vmx,
and vmware.log inspected after restart to confirm whether selector
behavior actually changed.
Keys that work (MKSRenderMain selection actually changes):
* mks.enable3d = "TRUE" / "FALSE"
Master switch for 3D acceleration.
* mks.enableVulkanRenderer = "FALSE"
Removes VK from the "PowerOn allowed" list.
* mks.enableDX12Renderer = "FALSE"
Removes DX12 from the "PowerOn allowed" list.
* mks.enableDX11Renderer = "TRUE"
Allows DX11 (already allowed by default).
Keys that are silently ignored (parsed into DICT, no runtime effect):
* mks.gl.renderer = "dx11renderer"
DICT entry logged, selector keeps Vulkan.
* mks.isb.enable = "FALSE"
DICT entry logged, ISB still enabled.
* mks.sandbox.enable = "FALSE"
DICT entry logged, ISB still enabled.
* mks.enableBasicRenderer = "FALSE"
DICT entry logged, DX11Basic still selected.
The "DICT logged" rows show up as
In(05) vmx DICT mks.X = "..."
in vmware.log - VMware reads them - but MKSRenderMain behavior is
unchanged. From the outside these read as no-ops on this build; whether
they were removed, never existed, or are reserved for a different code
path, I can't tell.
REACHABLE END STATES
--------------------
Combining the keys that do work, only two states are reachable on
17.6.4:
1) 3D enabled (any combination that allows ISB to start):
ISB sandbox runs ->
Found Full Renderer: ISBRenderer (VKRenderer)
or Found Full Renderer: ISBRenderer (DX12Renderer)
Guest sees: SVGA3D, shader model SM_5_1X, full hardware acceleration.
Cost: input lag present.
2) 3D disabled, OR both VK and DX12 disabled:
ISB fails to start -> selector retries "without 3D requirements" ->
Found Full Renderer: DX11BasicRenderer
Guest's Mesa drops to llvmpipe, no real 3D in the guest.
Cost: no GPU acceleration, but no input lag.
The selector skips full DX11 in favor of DX11Basic when ISB fails -
even with mks.enableDX11Renderer = "TRUE" and
mks.enableBasicRenderer = "FALSE" set together. There appears to be no
.vmx-controllable path to "low-lag full DX11 in-process" on 17.6.4.
That older path (which, per user reports, gave smooth interactivity in
VMware 15.x) seems to no longer exist, or is gated by something not
exposed in .vmx config.
QUESTIONS FOR VMWARE
--------------------
1) Are the silently-ignored keys above deprecated, removed, or were
they never supported in this form? Documentation pointers would
be useful.
2) Is there a supported way on 17.6.x to get hardware-accelerated 3D
in a Linux guest *without* the ISB sandbox in the input path - i.e.,
to recover the responsiveness of pre-16.x in-process rendering?
If not by design, this is the regression being reported across
multiple threads.
3) Would the team be interested in vmware.log / mksSandbox.log from
a reproducer? Happy to provide.
CAVEATS
-------
- One build (17.6.4 build-24832109), one host driver vintage (573.91),
one GPU class (Quadro). Older host GPUs may behave differently - the
host's D3D feature level reportedly gates which renderers are
reachable.
- Multi-vCPU was not isolated as a variable; there's a separate
documented bug about Linux multi-vCPU keyboard lag on Win11 hosts
that may overlap.
- Investigation was AI-assisted (drafting and synthesis); the log
excerpts and observed selector behavior are real.
FULL WRITEUP
------------
Mirrored as a Gist with the same content for permanent reference and
easier linking from elsewhere:
https://gist.github.com/istonikula/3c84a651a45509bd38dd79303f4a26d4
-------------------------------------------