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
>

Reply via email to