On Tue, Oct 27, 2026 at 5:32 AM Tomas M <[email protected]> wrote: > > Hi, > > I found a cursor hotspot regression in vmwgfx while testing Slax > with Linux 7.2.9. > > Environment: > - VirtualBox 7.1.10, VMSVGA, 3D acceleration disabled > - Debian 13 userspace > - xserver-xorg-core 21.1.16 > - xf86-video-vmware 13.4.0 > - Hardware cursors enabled through normal driver autodetection > > Resize cursors appear displaced from the pointer position. For > example, a horizontal resize cursor with hotspot (13, 6) is drawn > 13 pixels to the right and 6 pixels below the expected position. > > The theme file and XFixesGetCursorImage both report the correct > hotspot (13, 6), but VirtualBox's VMSVGA diagnostics report (0, 0). > > Code inspection points to the GB_ONLY branch introduced by: > > eef295a85082 ("drm/vmwgfx: Restore Guest-Backed only cursor plane support") > > In vmw_cursor_plane_atomic_update(), this branch passes only > vps->base.hotspot_x/y to vmw_send_define_cursor_cmd(). > > However, xf86-video-vmware supplies the hotspot through > DRM_VMW_CURSOR_BYPASS, which stores it in > vps->cursor.legacy.hotspot_x/y. > > The position calculation adds both hotspot components, and the > LEGACY and MOB image paths also include both. Only the GB_ONLY > image path omits the legacy component. > > The attached patch uses the same combined hotspot for the GB_ONLY > image and its position. It fixes the displacement in our VM. > Additional tests with custom cursors, bypassing the cursor theme > and window manager, confirmed that hotspots (13,6), (6,13), (9,9) > and (7,11) reach the virtual hardware correctly with the fix. > > For completeness, this setup also encounters the separately > reported zero SVGA_REG_CURSOR_MAX_DIMENSION issue: > > https://patchew.org/linux/[email protected]/ > > To make hardware cursors visible for these tests, our kernel also > has a local workaround that retains a 64px limit specifically for > GB_ONLY when that register returns zero. MOB validation is unchanged. > > Could you review the hotspot fix and consider applying it upstream? > I can provide further diagnostics if helpful.
Hi, Tomas. Thanks for this. I have a series that's addressing those cursor issues. I have a better fix for the vmwgfx-legacy-cursor-limit.patch issue so I'd skip that one, but do you want to send vmwgfx-legacy-cursor-hotspot.patch with your signed-off? I can also create a patch in my series with it but I'll need your ok to include your signed-off with it. z
smime.p7s
Description: S/MIME Cryptographic Signature
