Cursor jumps on shape change with vmware vga

Bug #1338591 reported by Ruslan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Expired
Undecided
Unassigned

Bug Description

I launch QEMU with the following command line:

qemu-system-i386 /home/ruslan/iso/Windoze/qemuxp.img -m 512 -display sdl -vga vmware -enable-kvm

The guest OS is Windows XP. To reproduce the problem, do this:

0. Make sure guest is WinXP (don't know if it's really necessary), use vmware VGA
1. Set mouse cursor theme to default black&white theme, i.e. that without any translucency etc.
2. Open a text editor, e.g. built-in notepad
3. Move the cursor inside text entry widget
4. See the cursor jumping away. You basically can't enter the cursor there.

This also reproduces with MS Word 2003 even with oxy-white cursor theme (i.e. that with translucency) — seems Word uses its plain black&transparent cursor for I-beam cursor.

This doesn't happen with other VGAs, i.e. cirrus and std.

I used qemu git master to test this. qemu-system-i386 --version reports version 2.0.90, git describe says v2.1.0-rc0-1-g9d9de25. This also happened in earlier QEMU versions, like 1.5.x and older.

Revision history for this message
Ruslan (b7-10110111) wrote :

I've checked with Kubuntu 14.04 LiveCD as guest, and there's no such problem.
What seems relevant is that in Kubuntu mouse cursor seamlessly enters and exits the window, i.e. mouse is automatically grabbed and ungrabbed, while on WinXP guest it's not supported (I think I just didn't install such a driver). Maybe it's this mode which makes behavior different.

Revision history for this message
Ruslan (b7-10110111) wrote :

After some experimenting it starts to seem that this is a special case of a more general problem with HW accelerated cursor. This particular bug can be reproduced without any edit field — it's enough to try moving the classical cursor (i.e. HW accelerated as set in 1. in bug description) over some window edges so that it changes its shape to resize arrows and back to usual pointer.

Now, it appears that if I set mouse cursor speed to smallest possible, then the cursor moves _very_ jittery. It is close to unusable.

This may indicate some principal problem with such implementation of HW accelerated cursor. What if instead of using the real system cursor QEMU would create a (undecorated) window which would be the guest cursor, still rendered with some HW acceleration? In this case it'd be not necessary to always have the real cursor near the guest cursor, in fact the video driver won't even touch the real cursor at all.

Revision history for this message
Ruslan (b7-10110111) wrote :

Setting SDL_VIDEO_X11_DGAMOUSE=0 environment variable works around this problem.

Revision history for this message
Thomas Huth (th-huth) wrote :

Triaging old bug tickets... can you still reproduce this issue with the latest version of QEMU? Or could we close this ticket nowadays?

Changed in qemu:
status: New → Incomplete
Revision history for this message
Ruslan (b7-10110111) wrote :

I still reproduce this with QEMU v2.10.0-1649-ga93ece4.

Thomas Huth (th-huth)
Changed in qemu:
status: Incomplete → Triaged
Revision history for this message
Thomas Huth (th-huth) wrote : Moved bug report

This is an automated cleanup. This bug report has been moved to QEMU's
new bug tracker on gitlab.com and thus gets marked as 'expired' now.
Please continue with the discussion here:

 https://gitlab.com/qemu-project/qemu/-/issues/104

Changed in qemu:
status: Triaged → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.