Albert Esteve <aesteve@xxxxxxxxxx> 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! -- Best regards, Javier Martinez Canillas Core Platforms Red Hat