All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Thomas Hellström (VMware)" <thomas_os@shipmail.org>
To: Simon Ser <contact@emersion.fr>
Cc: "Hans de Goede" <hdegoede@redhat.com>,
	"Jonas Ådahl" <jadahl@redhat.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>
Subject: Re: Atomic KMS API lacks the ability to set cursor hot-spot coordinates
Date: Sat, 21 Mar 2020 09:56:06 +0100	[thread overview]
Message-ID: <7c3cb54c-2cab-a774-059a-4bd9861c3790@shipmail.org> (raw)
In-Reply-To: <4acc7fd2-df61-33f6-9fd7-2c4921e6ff88@shipmail.org>

On 3/20/20 12:47 PM, Thomas Hellström (VMware) wrote:
> On 3/20/20 12:27 PM, Simon Ser wrote:
>> On Friday, March 20, 2020 11:59 AM, Thomas Hellström 
>> <thomas_os@shipmail.org> wrote:
>>
>>> On 3/20/20 10:13 AM, Pekka Paalanen wrote:
>>>
>>>>> It seems people are also forgetting the problem of associating the
>>>>> cursor plane with an input device, so that whatever is looking to
>>>>> mangle the cursor plane behind the KMS app's back would know how 
>>>>> to do
>>>>> it right.
>>>>> My first thought for that is a new cursor plane property with the 
>>>>> value
>>>>> of major, minor of the kernel input device that userspace is using to
>>>>> control the cursor plane. This property should be set by userspace 
>>>>> only
>>>>> when there is exactly one kernel input device it uses for controlling
>>>>> the cursor plane. Setting this property to none/disabled would be a
>>>>> clear indication that "seamless mode" would be unwanted. The DRM
>>>>> driver or whatever it talks to could then check if the cursor 
>>>>> plane is
>>>>> indeed controlled by the input it so far has only assumed and
>>>>> automatically choose correctly between seamless mode or not.
>>>> Are you sure this i really needed? VMware's SVGA device checks whether
>>>> the guest cursor position and host cursor position are reasonably
>>>> aligned, and if not, composites the guest cursor over the display 
>>>> plane.
>>>> So if you, for example,  attach a passthrough USB mouse to the VM 
>>>> while
>>>> running in seamless mode, things "just work". Similarly if you were to
>>>> attach a kms-based vnc solution that behaved in the same way and that
>>>> created a new input device, things would also look fine, except for
>>>> temporary cursor jumps when you switch input device.
>>> Seems more like a workaround than a real solution.
>
> That may be the case, but still it works and if you have multiple 
> clients it always allows the active client run in seamless mode. 
> Besides, if people think supporting KMS hotspots is already hard 
> enough, the chance of having them supplying the correct input device 
> is small.
>
> /Thomas

To be clear about this, I'm not *against* a property associating a 
device with a cursor plane as long as it's just a hint. However in the 
VMware case, it's unlikely that we will try to implement any kernel 
driver support for it since we have a working solution and it also may 
not be possible. (Some remoting solutions only work when seamless mode 
is enabled).

/Thomas


>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
>

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

      reply	other threads:[~2020-03-21  8:56 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-18 14:28 Atomic KMS API lacks the ability to set cursor hot-spot coordinates Hans de Goede
2020-03-18 14:38 ` Simon Ser
2020-03-18 15:04   ` Hans de Goede
2020-03-18 15:22     ` Simon Ser
2020-03-19 11:35       ` Michel Dänzer
2020-03-19 11:52         ` Hans de Goede
2020-03-19 12:54           ` Pekka Paalanen
2020-03-19 13:51             ` Michel Dänzer
2020-03-19 14:48               ` Pekka Paalanen
2020-03-19 15:01                 ` Hans de Goede
2020-03-19  9:57   ` Pekka Paalanen
2020-03-19 10:00     ` Simon Ser
2020-03-18 14:39 ` Hans de Goede
2020-03-18 15:09 ` Daniel Vetter
2020-03-18 22:20   ` Hans de Goede
2020-03-19 10:00 ` Pekka Paalanen
2020-03-19 11:49   ` Hans de Goede
2020-03-19 12:58     ` Pekka Paalanen
2020-03-19 13:16       ` Daniel Vetter
2020-03-19 13:24         ` Simon Ser
2020-03-19 14:30       ` Hans de Goede
2020-03-19 15:16         ` Pekka Paalanen
2020-03-19 18:18           ` Hans de Goede
2020-03-19 20:14             ` Simon Ser
2020-03-19 20:49               ` Hans de Goede
2020-03-19 21:07                 ` Simon Ser
2020-03-19 22:57                   ` Thomas Hellström (VMware)
2020-03-20  9:13                     ` Pekka Paalanen
2020-03-20 10:59                       ` Thomas Hellström (VMware)
2020-03-20 11:27                         ` Simon Ser
2020-03-20 11:47                           ` Thomas Hellström (VMware)
2020-03-21  8:56                             ` Thomas Hellström (VMware) [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7c3cb54c-2cab-a774-059a-4bd9861c3790@shipmail.org \
    --to=thomas_os@shipmail.org \
    --cc=contact@emersion.fr \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hdegoede@redhat.com \
    --cc=jadahl@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.