https://bugs.kde.org/show_bug.cgi?id=521994

--- Comment #3 from Francesco Panarese <[email protected]> ---
(In reply to Zamundaaa from comment #2)
> Please attach the output of drm_info
> (https://gitlab.freedesktop.org/emersion/drm_info), once for when the cursor
> looks correct, and once for when it looks wrong.
> Using the git master of drm_info would be best, since that prints more
> information.

[francesco@ArchLinux drm_info]$ diff ~/cursor_correct.txt ~/cursor_wrong.txt
2727,2728c2727,2728
<     │   │   ├───FB ID: 426
<     │   │   │   ├───Object ID: 426
---
>     │   │   ├───FB ID: 424
>     │   │   │   ├───Object ID: 424
2759,2760c2759,2760
<     │       ├───"FB_ID" (atomic): object framebuffer = 426
<     │       │   ├───Object ID: 426
---
>     │       ├───"FB_ID" (atomic): object framebuffer = 424
>     │       │   ├───Object ID: 424
3503c3503,3509
<     │   │   ├───FB ID: 0
---
>     │   │   ├───FB ID: 416
>     │   │   │   ├───Object ID: 416
>     │   │   │   ├───Size: 64×64
>     │   │   │   ├───Format: ARGB8888 (0x34325241)
>     │   │   │   ├───Modifier: DRM_FORMAT_MOD_LINEAR (0x0000000000000000)
>     │   │   │   └───Planes:
>     │   │   │       └───Plane 0: offset = 0, pitch = 256 bytes
3508c3514,3520
<     │       ├───"FB_ID" (atomic): object framebuffer = 0
---
>     │       ├───"FB_ID" (atomic): object framebuffer = 416
>     │       │   ├───Object ID: 416
>     │       │   ├───Size: 64×64
>     │       │   ├───Format: ARGB8888 (0x34325241)
>     │       │   ├───Modifier: DRM_FORMAT_MOD_LINEAR (0x0000000000000000)
>     │       │   └───Planes:
>     │       │       └───Plane 0: offset = 0, pitch = 256 bytes
3510,3512c3522,3524
<     │       ├───"CRTC_ID" (atomic): object CRTC = 0
<     │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 1144
<     │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 1024
---
>     │       ├───"CRTC_ID" (atomic): object CRTC = 363
>     │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 1515
>     │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 1214


Attached both outputs as requested.

Comparing them, I noticed the cursor plane (FB 64x64, ARGB8888) is
completely unused (FB_ID=0, CRTC_ID=0) when the panel is visible, and
becomes active (FB_ID=416, CRTC_ID=363) once the panel auto-hides and
the cursor is over the wallpaper. So the cursor only moves onto its
own hardware plane once the panel disappears — which matches what I
suspected from the source: with the panel always present there's
always compositing, but once it's gone the wallpaper becomes the only
fullscreen surface and seems to trigger direct scanout, putting the
cursor on its own plane (where the color looks wrong).

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to