Hi, Thanks for working on these fixes. Please feel free to include vmwgfx-legacy-cursor-hotspot.patch in your series. You have my permission to add my Signed-off-by, or you can use the patch even without mentioning my name, I dont mind.
I'm happy to leave the details to you. My main goal is to get the bugs fixed. Thanks again. Tomas M Dne út 27. 10. 2026 20:00 uživatel Zack Rusin <[email protected]> napsal: > 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 >
