Bug 479634 - Invisible mouse cursor on internal laptop screen while visible on external
Summary: Invisible mouse cursor on internal laptop screen while visible on external
Status: RESOLVED DUPLICATE of bug 479583
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: 5.92.0
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: multiscreen, qt6, wayland
Depends on:
Blocks:
 
Reported: 2024-01-11 09:55 UTC by Mykola Krachkovsky
Modified: 2024-01-11 16:10 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
KScreen setup (16.46 KB, application/json)
2024-01-11 09:55 UTC, Mykola Krachkovsky
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mykola Krachkovsky 2024-01-11 09:55:04 UTC
Created attachment 164805 [details]
KScreen setup

SUMMARY
After update of kwin6 to 5.91.90git.20240111T012852~e427ad73-77.1 (openSUSE Tumbleweed KDE Unstable repository) mouse cursor disappeared on internal screen for any application or plasma shell. Even when cursor is near the edge of external screen and part of it should be visible on internal — that part became invisible.

Also cursor has artifacts on the edge, btw I'm using older version of Bibata Amber cursors, not sure if this true for native Breeze, but these artifacts weren't present before on kwin6.

I suspect this is a software cursors problem, as I have an Intel GPU on laptop. I think this commit:
https://invent.kde.org/plasma/kwin/-/commit/b214251f81cbacacf3ef483081a7cef15343fa7f
discovered this bug. If I add `export KWIN_FORCE_SW_CURSOR=0` to `~/.config/plasma-workspace/env/` folder to revert to hardware cursors, then both these problems go away — cursor is visible everywhere and no visual artifacts.

Also maybe this is important, I'm using fractional scaling, 1.25 on external screen & 1.5 on internal. I think artifacts related to this, but whu they aren't present with HW cursor? Different resampling algorithm? Details in kscreen-doctor output in attachment.

STEPS TO REPRODUCE
1. Use laptop with Intel GPU.
2. Setup internal & external screens.
3. Move mouse cursor between external & internal screens.

OBSERVED RESULT
Cursor is invisible on internal screen.

EXPECTED RESULT
Cursor should be visible on both screens.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: openSUSE 20240109
(available in About System)
KDE Plasma Version: 6.0.80
KDE Frameworks Version: 5.249.0
Qt Version: 6.6.1

ADDITIONAL INFORMATION
Comment 1 Mykola Krachkovsky 2024-01-11 10:16:27 UTC
Additonal information:
1. Cursor visible when external screen is not plugged or switched off in settings, but disappears again on plug in (switch on).
2. Cursor looks fine (no artifacts & visible) on screenshots.
3. I've tried to set 100% scaling and it seems doesn't affect, these bugs still present.
Comment 2 Mykola Krachkovsky 2024-01-11 10:39:10 UTC
I've made a separate bug for cursor artifacts: https://bugs.kde.org/show_bug.cgi?id=479637
Comment 3 Paul de Vrieze 2024-01-11 14:26:15 UTC
I have a similar issue. In my case the cursor is visible properly in 5.91.0. In 5.92.0 the cursor is only visible on the (primary) laptop screen that is driven by an Intel iGPU, but not on the external displays connected to the NVidia GPU.
In my case I tried setting both WLR_NO_HARDWARE_CURSORS=1 and KWIN_FORCE_SW_CURSOR=1 in which the problem didn't go away (Reverting to 5.91.0 on an otherwise RC1 install "fixes" things, even with the environment variables still set.

In dmesg I have the message: "[drm] [nvidia-drm] [GPU ID 0x00000100] Framebuffer memory not appropriate for scanout". It also seems related to https://forums.developer.nvidia.com/t/hardware-cursor-is-not-working-on-wayland-drm-sessions/261853
Comment 4 Zamundaaa 2024-01-11 16:10:35 UTC

*** This bug has been marked as a duplicate of bug 479583 ***