DEV Community

Varda Ali
Varda Ali

Posted on

Kali Linux Mouse Cursor Invisible in VMware Workstation — Fixed with SWcursor Config

Problem

Running Kali Linux (2025.4, Xfce, X11) as a VM in VMware Workstation on a Windows host. The mouse cursor was completely invisible inside the VM window — the mouse still moved and clicks still worked, but no cursor icon rendered anywhere on screen. It worked fine everywhere on the Windows host, just not inside the Kali VM.

If you're building a home lab for penetration testing/SOC practice and hit this, it's more common than you'd think — and most of the fixes floating around online don't actually target the real cause.

What I tried that didn't fix it

  • Reinstalled open-vm-tools-desktop and fuse3, rebooted
  • Toggled VMware's "Accelerate 3D graphics" setting on and off
  • Switched Xfce's cursor theme away and back (including explicitly to DMZ-White)
  • Manually forced a cursor refresh: xsetroot -cursor_name left_ptr
  • Fixed Windows display scaling (was at 125%, tested at 100%)
  • Enabled "Override high DPI scaling" in VMware's compatibility settings
  • Fully uninstalled VMware Workstation Player (EOL) and installed the new free VMware Workstation Pro
  • Ruled out an external mouse driver conflict by testing with it fully unplugged

None of these touched the actual problem.

The actual cause

Checking the Xorg log pointed at the real issue:

cat /var/log/Xorg.0.log | grep -i cursor
Enter fullscreen mode Exit fullscreen mode

This showed:

(WW) modeset(0): Option "HWcursor" is not used ```



Kali was using the generic `modesetting` X11 driver (not a VMware-specific one), and its **hardware cursor** wasn't rendering correctly inside the VM. 
Note: don't bother trying to install `xserver-xorg-video-vmware` — it's not available in current Kali repos, because Kali doesn't use that driver anymore.

## What actually fixed it

Force a **software cursor** instead of the broken hardware one:



```bash
sudo mkdir -p /etc/X11/xorg.conf.d
sudo nano /etc/X11/xorg.conf.d/20-swcursor.conf
Enter fullscreen mode Exit fullscreen mode

Paste this into the file:

Section "Device"
    Identifier "Configured Video Device"
    Driver "modesetting"
    Option "SWcursor" "true"
EndSection
Enter fullscreen mode Exit fullscreen mode

Save, exit, then reboot:

sudo reboot
Enter fullscreen mode Exit fullscreen mode

Cursor showed up immediately after reboot.

Why this happens

VMware's virtual display adapter and the Linux modesetting driver don't always agree on how to composite the hardware cursor layer - especially on certain host GPU/driver combinations. Forcing software cursor rendering sidesteps the compositing bug entirely by having Xorg draw the cursor itself instead of relying on hardware acceleration for it.


If you're setting up a Kali lab and hit this exact symptom (mouse moves, no cursor visible), skip the theme-switching and DPI settings — check your Xorg log first, then go straight to the SWcursor fix.

Top comments (0)