All of lore.kernel.org
 help / color / mirror / Atom feed
From: Javier Martinez Canillas <javierm@redhat.com>
To: Pekka Paalanen <ppaalanen@gmail.com>, Zack Rusin <zack@kde.org>
Cc: Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	David Airlie <airlied@linux.ie>,
	banackm@vmware.com, krastevm@vmware.com,
	dri-devel@lists.freedesktop.org, iforbes@vmware.com,
	mombasawalam@vmware.com
Subject: Re: [PATCH v4 2/8] drm/atomic: Add support for mouse hotspots
Date: Wed, 28 Jun 2023 10:30:11 +0200	[thread overview]
Message-ID: <877cro2dm4.fsf@minerva.mail-host-address-is-not-set> (raw)
In-Reply-To: <20230628105424.11eb45ec@eldfell>

Pekka Paalanen <ppaalanen@gmail.com> writes:

Hello Pekka,

> On Wed, 28 Jun 2023 10:41:06 +0300
> Pekka Paalanen <ppaalanen@gmail.com> wrote:
>
>> On Wed, 28 Jun 2023 01:21:27 -0400
>> Zack Rusin <zack@kde.org> wrote:
>> 
>> > From: Zack Rusin <zackr@vmware.com>
>> > 
>> > Atomic modesetting code lacked support for specifying mouse cursor
>> > hotspots. The legacy kms DRM_IOCTL_MODE_CURSOR2 had support for setting
>> > the hotspot but the functionality was not implemented in the new atomic
>> > paths.
>> > 
>> > Due to the lack of hotspots in the atomic paths userspace compositors
>> > completely disable atomic modesetting for drivers that require it (i.e.
>> > all paravirtualized drivers).
>> > 
>> > This change adds hotspot properties to the atomic codepaths throughtout
>> > the DRM core and will allow enabling atomic modesetting for virtualized
>> > drivers in the userspace.
>> > 
>> > Signed-off-by: Zack Rusin <zackr@vmware.com>
>> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> > Cc: Maxime Ripard <mripard@kernel.org>
>> > Cc: Thomas Zimmermann <tzimmermann@suse.de>
>> > Cc: David Airlie <airlied@linux.ie>
>> > Cc: Daniel Vetter <daniel@ffwll.ch>
>> > Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>  
>> 
>> Hi Zack,
>> 
>> I still do not see any UAPI docs for the new properties in this patch?
>
> If you are wondering what there could be to write about, maybe this can
> give a good mindset:
>
> Let's assume that I am a Wayland compositor developer who has never used
> "hotspots" with KMS UAPI before. As I have never tested anything in a
> VM, I have no idea why the kernel would ever want to know about cursor
> hotspots. Display hardware never does anything with that, it just puts
> the cursor plane where I tell it to and composes a single image to be
> sent to the sink. The virtual driver VKMS does the same. To me, a
> cursor plane is just another universal plane that may have weird
> stacking order, pixel format, and size limitations.
>
> Ideally the doc for HOTSPOT_X and HOTSPOT_Y documents not only their
> possible existence and allowed/expected values, but also the reasons
> to have them and what they are used for, and that if the properties
> are exposed they are mandatory to program in order to use the plane.
>

Agreed with you that this documentation would be very useful. When I first
noticed that the virtio-gpu was in a deny list for atomic KMS, it took me
some time to understand that this was related to the lack of support for
cursor hotspots in the atomic API.

Another thing that could include this document is how user-space usually
deals with the lack of cursor hotspot properties in drivers that need it
(i.e: falling back to software cursor rendering as Weston does). And that
for this reason the cursor plane is disabled on these drivers, unless the
client advertises support for it with DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT.

I think though that this could be added as follow-up and not block this
series, which IMO are already in a good shape to be merged.

-- 
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat


  reply	other threads:[~2023-06-28  8:30 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-28  5:21 [PATCH v4 0/8] Fix cursor planes with virtualized drivers Zack Rusin
2023-06-28  5:21 ` [PATCH v4 1/8] drm: Disable the cursor plane on atomic contexts " Zack Rusin
2023-06-28  5:21   ` Zack Rusin
2023-06-28  5:21 ` [PATCH v4 2/8] drm/atomic: Add support for mouse hotspots Zack Rusin
2023-06-28  7:41   ` Pekka Paalanen
2023-06-28  7:54     ` Pekka Paalanen
2023-06-28  8:30       ` Javier Martinez Canillas [this message]
2023-06-28 19:54       ` Zack Rusin
2023-06-29  8:03         ` Pekka Paalanen
2023-07-03 21:06           ` Michael Banack
2023-07-04  8:08             ` Pekka Paalanen
2023-07-05 16:08               ` Michael Banack
2023-07-06  8:01                 ` Pekka Paalanen
2023-07-06 16:23                   ` Michael Banack
2023-07-07  8:38                     ` Pekka Paalanen
2023-07-07 20:54                       ` Michael Banack
2023-07-10  8:17                         ` Pekka Paalanen
2023-07-10 17:46                           ` Michael Banack
2023-07-11  7:14                             ` Pekka Paalanen
2023-07-18  8:41                               ` Javier Martinez Canillas
2023-07-18  9:27                                 ` Javier Martinez Canillas
2023-07-18  9:56                                 ` Pekka Paalanen
2023-06-28 14:15   ` Simon Ser
2023-06-28 16:26     ` Zack Rusin
2023-06-29  8:16       ` Pekka Paalanen
2023-07-03 21:15         ` Michael Banack
2023-06-28  5:21 ` [PATCH v4 3/8] drm/vmwgfx: Use the hotspot properties from cursor planes Zack Rusin
2023-06-28  5:21 ` [PATCH v4 4/8] drm/qxl: " Zack Rusin
2023-06-28  5:21 ` [PATCH v4 5/8] drm/vboxvideo: " Zack Rusin
2023-06-28  5:21 ` [PATCH v4 6/8] drm/virtio: " Zack Rusin
2023-06-28  5:21 ` [PATCH v4 7/8] drm: Remove legacy cursor hotspot code Zack Rusin
2023-06-28  5:21 ` [PATCH v4 8/8] drm: Introduce DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT Zack Rusin

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=877cro2dm4.fsf@minerva.mail-host-address-is-not-set \
    --to=javierm@redhat.com \
    --cc=airlied@linux.ie \
    --cc=banackm@vmware.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=iforbes@vmware.com \
    --cc=krastevm@vmware.com \
    --cc=mombasawalam@vmware.com \
    --cc=mripard@kernel.org \
    --cc=ppaalanen@gmail.com \
    --cc=tzimmermann@suse.de \
    --cc=zack@kde.org \
    /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.