Skip to main content

Quick Note: Mouse Jumps Around in VMware Workstation


I just upgraded a testing machine to Windows 10 1909. And installed VMware Workstation 15 latest version on the testing machine. Somehow the mouse jumps around in VMware Workstation when the mouse pointer is grabbed by a VM. This is very annoying. I only observed this issue when run VMware Workstation in remote desktop session. I didn't see the same issue when I run a VM on a local computer.





The reason is the testing machine has WDDM graphic driver installed. You can disable WDDM graphic driver in remote desktop session by modifying group policy.





  1. Open group policy editor by following command:




gpedit.msc




  1. Go to Computer Configuration -> Administrative Templates -> All Settings
  2. Disable the setting: Use WDDM graphics display driver for Remote Desktop Connections.




Disable WDDM graphics display driver.




  1. Reconnect the remote desktop session.




Please refer to following VMware KB to understand more about WDDM.





WDDM and XPDM graphics driver support with ESX, ESXi, Workstation and Fusion (1016770)





It's not clear why the WDDM driver caused the problem. I think the reason probably because WDDM gives benefit to use software and hardware acceleration both. Maybe my testing VM's physical host doesn't have hardware acceleration capability. But the mouse jumps around in VMware Workstation due to the driver switching between the acceleration capabilities.





I also posted few articles regarding mouse issue in virtualization environment for your reference.





Mouse Cursor Disappeared in Remote Desktop in mRemoteNG





VMware Remote Console Freeze or Black Screen


Popular posts from this blog

Connect-NsxtServer shows "Unable to connect to the remote server"

When you run Connect-NsxtServer in the PowerCLI, it may show "Unable to connect to the remote server".  Because the error message is a little bit confusing with other login issues. It's not easy to troubleshoot. The actual reason is the NSX-T uses a self-signed certificate, and the PowerCLI cannot accept the certificate automatically. The fix is super easy. You need to set the PowerCLI to ignore the invalid certificate with the following command: Set-PowerCLIConfiguration -Scope User -InvalidCertificateAction:Ignore -Confirm:$false

Setup Terraform and Ansible for Windows provisionon CentOS

Provisioning Windows machines with Terraform is easy. Configuring Windows machines with Ansible is also not complex. However, it's a little bit challenging to combine them. The following steps are some ideas about handling a Windows machine from provisioning to post configuration without modifying the winrm configuration on the guest operating system. Install required repos for yum. yum -y install https://repo.ius.io/ius-release-el7.rpm yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm yum -y install epel-release yum -y install yum-utils yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo Install  Terraform . sudo yum -y install terraform Install  Ansible . sudo yum -y install ansible Install  Kerberos . yum -y install gcc python-devel krb5-devel krb5-libs krb5-workstation

How to List All Users in Terraform Cloud

Terraform has a rich API. However, the API documentation does not mention how to list all users. We can leverage the organization membership API and the PowerShell command  Invoke-RestMethod  to get a user list. 1. Create an organization token in Terraform Cloud. 2. Create the token variable ( $Token ) in PowerShell. $Token = "abcde" 3. Create the API parameters variable in PowerShell. $params = @{ Uri = "https://app.terraform.io/api/v2/organizations/ZHENGWU/organization-memberships?page%5Bsize%5D=100" Authentication = "Bearer" Token = $Token ContentType = "application/vnd.api+json" } Note: You need to replace ZHENGWU with your own organization name. And I used 100 at the end of the URI to retrieve the first 100 users. It can be any number.  4. Retrieve the API return and list the user's email address. $Test = Invoke-RestMethod @params $Test.data.attributes.email