Re: F32 Beta: Cursor hot point mis-positioned under Wayland

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hi,

On 3/18/20 12:43 PM, Hans de Goede wrote:
Hi,

On 3/18/20 12:11 PM, Olivier Fourdan wrote:
Hi

On Wed, Mar 18, 2020 at 11:56 AM Milan Crha <mcrha@xxxxxxxxxx <mailto:mcrha@xxxxxxxxxx>> wrote:

    On Wed, 2020-03-18 at 11:44 +0100, Olivier Fourdan wrote:
     > https://gitlab.gnome.org/GNOME/mutter/issues/1092 or
     > https://gitlab.gnome.org/GNOME/mutter/issues/1094 maybe?

    no HiDPI involved here, just the opposite, a virtual machine with
    1024x768. I see it on both rawhide and Fedora 32. If it's not GNOME (as
    one of your bug reports suggests), against what do I file it in Fedora,
    please?


Sorry, I did not imply that the problem was not with GNOME, I just pointed out existing reports in mutter in case they matched your issue.

FWIW, I am running GNOME Shell on Wayland on a 1024×768 screen on bare metal (old laptop) on F32 and I cannot reproduce that issue.

So In just checked and I can still reproduce this. I'm pretty sure this
is actually a mutter issue, this seems to be a classic cursor hotspot
issue. It seems that as soon as the hotspot is not 0x0 there are problems
when running mutter 3.36.0 as Wayland compositor in a VM.

I've added some more detailed observations to:

https://gitlab.gnome.org/GNOME/mutter/issues/1094

I've added some debug printk-s the the kernel's vboxvideo driver and discussed this this with @jadahl on #fedora-desktop on irc.

The problem is the atomic kms API does not have cursor hotspot coordinates. In preparation for moving to the atomic APIs mutter no longer sets a hotspot for the cursor, instead it shifts the coordinates where it tells the GPU to draw the cursor by the hotspot's coordinates.

This does not work with virtual-machines which use so called seamless mouse-mode, seamless-mode consists of 2 parts:  a) giving absolute coordinates of the mouse to the VM. b) letting the VM-viewer window-system draw the cursor at those exact coordinates.

Any coordinates the window-system inside the VM passes to the VM for drawing the cursor are basically totally ignored to avoid lag / flicker (and to not have to grab the cursor and confine it to the VM-viewer window).

This means that the offset added to the coordinates by mutter to emulate the hotspot are ignored. For things to work the window-system inside the VM need to pass the VM's gfx-card the correct hotspot when setting the cursor.

For now the plan is to fix mutter to pass the hot-spot coordinates the old way again.

For the long term we will also need to look at extending the atomic kms API to include hotspot coordinates support.

Regards,

Hans
_______________________________________________
desktop mailing list -- desktop@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to desktop-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/desktop@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Users]     [Fedora KDE]     [Fedora Announce]     [Fedora Docs]     [Fedora Config]     [PAM]     [Red Hat Development]     [Red Hat 9]     [Gimp]     [Yosemite News]

  Powered by Linux