Message ID | 20231023074613.41327-1-aesteve@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | Fix cursor planes with virtualized drivers | expand |
On Monday, October 23rd, 2023 at 09:46, Albert Esteve <aesteve@redhat.com> wrote: > Link to the IGT test covering this patch (already merged): > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html Hmm. IGT should not be merged before the kernel, because as long as the kernel is not merged there might be some uAPI changes. > Mutter patch: > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html Seems like this link is same as IGT? Copy-pasta fail maybe?
On Mon, Oct 23, 2023 at 9:55 AM Simon Ser <contact@emersion.fr> wrote: > On Monday, October 23rd, 2023 at 09:46, Albert Esteve <aesteve@redhat.com> > wrote: > > > Link to the IGT test covering this patch (already merged): > > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html > > Hmm. IGT should not be merged before the kernel, because as long as the > kernel is not merged there might be some uAPI changes. > Right, but uAPI header was not updated on the IGT side. As per suggestion of the maintainers, I added a static variable that matches the definition on this patch: https://lists.freedesktop.org/archives/igt-dev/2023-August/058803.html +/** + * Clients which do set cursor hotspot and treat the cursor plane + * like a mouse cursor should set this property. + */ +#define LOCAL_DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT 6 Once this patch gets upstreamed, the localized definition will be removed, replaced by the real one. > > Mutter patch: > > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html > > Seems like this link is same as IGT? Copy-pasta fail maybe? > > Ah yes, my bad, this is the correct link: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3337
On Monday, October 23rd, 2023 at 10:14, Albert Esteve <aesteve@redhat.com> wrote: > On Mon, Oct 23, 2023 at 9:55 AM Simon Ser <contact@emersion.fr> wrote: > > > On Monday, October 23rd, 2023 at 09:46, Albert Esteve <aesteve@redhat.com> wrote: > > > > > Link to the IGT test covering this patch (already merged): > > > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html > > > > Hmm. IGT should not be merged before the kernel, because as long as the > > kernel is not merged there might be some uAPI changes. > > Right, but uAPI header was not updated on the IGT side. As per suggestion of the > maintainers, I added a static variable that matches the definition on this patch: > https://lists.freedesktop.org/archives/igt-dev/2023-August/058803.html > > +/** > + * Clients which do set cursor hotspot and treat the cursor plane > + * like a mouse cursor should set this property. > + */ > +#define LOCAL_DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT 6 > > Once this patch gets upstreamed, the localized definition will be removed, > replaced by the real one. What if this patch gets delayed and another patch using the same number is merged into the kernel first? What if someone finds a design flaw in the uAPI and it needs to be completely changed? The IGT test would then be completely broken. As a rule of thumb: never merge user-space patches before kernel. As soon as the kernel part is merged, it's fine to locally copy definitions if desirable. > > > Mutter patch: > > > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html > > > > Seems like this link is same as IGT? Copy-pasta fail maybe? > > Ah yes, my bad, this is the correct link: > https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3337 Thanks!
Albert Esteve <aesteve@redhat.com> writes: Hello, [...] > >> > Mutter patch: >> > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html >> >> Seems like this link is same as IGT? Copy-pasta fail maybe? >> >> > Ah yes, my bad, this is the correct link: > https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3337 The mutter chages are already in good shape and the MR has even be approved by a mutter developer. Any objections to merge the series ?
On Wednesday, November 22nd, 2023 at 13:49, Javier Martinez Canillas <javierm@redhat.com> wrote:
> Any objections to merge the series ?
No objections from me :)
Simon Ser <contact@emersion.fr> writes: Hello Simon, > On Wednesday, November 22nd, 2023 at 13:49, Javier Martinez Canillas <javierm@redhat.com> wrote: > >> Any objections to merge the series ? > > No objections from me :) > Perfect, I'll merge this series then to unblock the mutter MR. Thanks again!
Albert Esteve <aesteve@redhat.com> writes: > v6: Shift DRIVER_CURSOR_HOTSPOT flag bit to BIT(9), since BIT(8) > was already taken by DRIVER_GEM_GPUVA. > > v5: Add a change with documentation from Michael, based on his discussion > with Pekka and bump the kernel version DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT > might be introduced with to 6.6. > > v4: Make drm_plane_create_hotspot_properties static, rename > DRM_CLIENT_CAP_VIRTUALIZED_CURSOR_PLANE to DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT > and some minor stylistic fixes for things found by Javier and Pekka > in v3. > > v3: Renames, fixes and cleanups suggested by Daniel, Simon and Pekka > after v2. There's no major changes in functionality. Please let me know > if I missed anything, it's been a while since v2. > > Virtualized drivers have had a lot of issues with cursor support on top > of atomic modesetting. This set both fixes the long standing problems > with atomic kms and virtualized drivers and adds code to let userspace > use atomic kms on virtualized drivers while preserving functioning > seamless cursors between the host and guest. > > The first change in the set is one that should be backported as far as > possible, likely 5.4 stable, because earlier stable kernels do not have > virtualbox driver. The change makes virtualized drivers stop exposing > a cursor plane for atomic clients, this fixes mouse cursor on all well > formed compositors which will automatically fallback to software cursor. > > The rest of the changes until the last one ports the legacy hotspot code > to atomic plane properties. > > Finally the last change introduces userspace API to let userspace > clients advertise the fact that they are aware of additional restrictions > placed upon the cursor plane by virtualized drivers and lets them use > atomic kms with virtualized drivers (the clients are expected to set > hotspots correctly when advertising support for virtual cursor plane). > > Link to the IGT test covering this patch (already merged): > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html > > Mutter patch: > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html > > Michael Banack (1): > drm: Introduce documentation for hotspot properties > > Zack Rusin (8): > drm: Disable the cursor plane on atomic contexts with virtualized > drivers > drm/atomic: Add support for mouse hotspots > drm/vmwgfx: Use the hotspot properties from cursor planes > drm/qxl: Use the hotspot properties from cursor planes > drm/vboxvideo: Use the hotspot properties from cursor planes > drm/virtio: Use the hotspot properties from cursor planes > drm: Remove legacy cursor hotspot code > drm: Introduce DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT > Pushed to drm-misc (drm-misc-next). Thanks!