Hi,
On 3/18/20 4:09 PM, Daniel Vetter wrote:
On Wed, Mar 18, 2020 at 3:29 PM Hans de Goede hdegoede@redhat.com wrote:
Hi All,
I'm not sure if $subject was a conscious design decision, or an oversight, but that does not really matter.
ATM the Atomic KMS API lacks the ability to set cursor hot-spot coordinates. Mutter (and Weston) have tried to emulate this by shifting the coordinates for where to draw the cursor by the hotspot-coordinates and always using 0x0 for the hotspot.
But this breaks the so called "seamless mouse mode" for virtual-machines and there really is no way to fix this but to allow passing the proper hotspot coordinates to the virtual gfx-card.
Fully aware, we simply never had userspace for this. So
- type weston patch
- type kernel patch (iirc this might be some work of moving the
hotspot coordinates from struct drm_plane to drm_plane_state)
- wire up atomic property (it'd just do "CURSOR_HOT_X/Y" and be done
with it, only attached to cursor planes that support it ofc)
- I think all drivers supporting vm cursor hotspot are now atomic, so
would be good to garbage-collect the old legacy infrastructure completely. legacy cursor ioctl will remap to the atomic call transparently like we do now already for everything else
- type igt
- get it all reviewed and merged.
0 design reasons for omitting this, simply Not Yet Done (tm).
Ok, sounds good, thank you. I've put this on my TODO list, but below a bunch of other higher prio items, so it may be a while before I get around to this.
Regards,
Hans