12.01.2019 14:51, halfdog wrote:
Package: qemu-system-gui
Version: 1:3.1+dfsg-2

After upgrading from Debian Stretch to Buster, thus changing
the qemu version on host, "-display gtk" has to be used instead
of "sdl" as the later is not available with Buster any more.

There's no need to explicitly enable gtk/sdl display, it is the
default if the system has all the necessary packages installed
and if X environment is available.

Since that switch the mouse behaviour changed, making guest machines
(also Debian Buster) very hard to use. I do not know the old
Stretch behaviour with "gtk" interface as I never used it.

I don't remember already if gtk interface has been available in
stretch, I think I tried to switch to gtk but rolled it back at
some time. In previous version of qemu as has been available in
Debian (in buster), gtk interface had a lot of issues (that's why
I had to revert back to sdl, and did that at least twice).

Current 3.1 gtk is quite stable finally, and it is the default
upstream too.

Reproduce: Run a qemu instance with "-vga virtio" and "-display
gtk". Maybe the window manager is relevant also, using fvwm2
with an EdgeScroll configuration on host/guest shows the problematic
behaviour. There are no specific guest additions installed in
the guest nor acceleration in place.

So guest is linux too? What's "EdgeScroll"?

Do you use USB Tablet device for guest (which syncronizes host and
guest mouse pointer)?

Does the same erratic behavour occurs with other vga variants,
like std?

Following options exist for still using the mouse/vm:

a) Using "Grab input" and "fullscreen", the mouse position is
correct, but one cannot see any guest mouse pointer. Only changes
in hilighting or menu popups (when clicking) indicate the current
mouse position.

b) Using "fullscreen" and then "grab input" does show the mouse
pointer but mouse position near the screen edge is not submitted
to the guest, those events seem to be consumed on host before that.
Thus those mouse positions cannot be reached in the guest window.

c) Not using fullscreen: fonts are harder to read due to scaling
on quite small mobile display (that's why the fullscreen preference
to avoid pixel-rot). The mouse pointer is shown and edge detection
would work theoretically, but it usually should happen in some
undistinguishable area where the guest-screen-background color
changes to the same color gtk-window-background, thus it is very
hard to hit it with the pointer.

Here I don't understand. Are your mobile screen SMALLER than the
guest screen, so that qemu has to scale DOWN?

So essentially one can decide beween working mouse cursor display
or working mouse pointer position, but you cannot have both. The
current workaround is to switch between a) and b) requiring 8
multi-key strokes and one mouse gesture instead of having just
to move the mouse pointer to the edge of the screen (old behaviour
with sdl).

Thanks,

/mjt

Reply via email to