Atomic KMS API lacks the ability to set cursor hot-spot coordinates

Hans de Goede hdegoede at redhat.com
Wed Mar 18 22:20:21 UTC 2020


Hi,

On 3/18/20 4:09 PM, Daniel Vetter wrote:
> On Wed, Mar 18, 2020 at 3:29 PM Hans de Goede <hdegoede at 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



More information about the dri-devel mailing list