When mouse passes window-decoration border, or plasmashell bar and space above it there is a cursor flicker. I was able to reproduce it before 5.12, just haven't bothered to report since wayland session had bigger problems for me then.
Please explain "flicker"
It looks like cursor is disappearing for few miliseconds. Intel hadrware with modesetting driver.
Which cursor theme, which cursor images are involved, which cursor sizes?
Sorry, I shouldn't have been so brief on details. Breeze, I need to force it to 24px since it's improperly set to 36px by part of applications. Standard cursor image is the problem here. Basically it happens when cursor passes some borders between stuff. Explained more in attachment. My resolution is 1600x900. Can it be related to size misdetection?
Created attachment 112311 [details] Explanation of my issue
the screenshot shows blender, which is rather "special". Does it also happen with other applications when going from window content to decoration? If yes with which one? I want to understand the conditions.
I have tried do be as diverse as possible: systemsettings, gnome-disks, yakuake, xsensors. gnome-disks is not affected thanks csd, it has other problems caused by csd though... yakuake is interesting, normal windows change cursor on borders for resizing, this one is locked in size and cursor does disappear for few ms when passing borders from each side. Can I record plasmashell session or do I have to wait for portal/pipewire support to land, and then for OBS to catch up?
I can reproduce the behavior described here on Arch Linux (plasma 5.12.4) I just move the cursor from wallpaper to plasma panel. When entire cursor is finally on the panel, it blinks quickly (maybe 100 milliseconds). I also use intel hd graphics and modesetting driver.
I don't see the effects, but from implementation I know that there is a risk of a temporary non cursor set. If anyone would be able to record this (best external to not influence the system) that would be appreciated.
Created attachment 112332 [details] potato quality proof Apologies for quality, my proper phone failed to make it noticeable, I had to record with a phone which doesn't properly focus at close while recording. Cursor blinking is visible at the beginning, if proof is not conclusive then you can always listen to birds in background ;)
Thanks. I guess I have to watch frame by frame. In that video I cannot notice it (doesn't surprise me, I also fail to notice small glitches or tearing)
Just watched the video frame by frame. The cursor is always there, but sometimes a frame has a "weak" cursor. It looks like it's not completely solid. This might now be either the video not being a high speed camera and the cursor is in truth missing or some other effect that temporarily a different cursor is loaded. I assume it's the first.
I might have a 1-line fix for the problem. If I attach a patch would someone be able to test it? Given that I have problems seeing the issue it might be helpful to have it validated by someone who notices this.
Go ahead, I can test it for you.
Patch at https://phabricator.kde.org/D12631
Created attachment 112358 [details] better recording It doesn't seem to have an effect for me. However I have a treat for you. It also blinks in virtualbox, so I was able to record it with higher quality. Also recorded another bug there for lack of configuration. neon dev-unstable from today
Patched both 5.12.5 and master. No changes unfortunately. I will switch my desktop to nouveau to see if it's also affected.
Does it neither work for the panel nor for the deco issue? I would have assumed it fixes for the panel and maybe for the deco.
Problem persists on both.
I start to think the problem is not in KWin. Could you please run Plasmashell with WAYLAND_DEBUG=1 and trigger the flicker?
Created attachment 112393 [details] debug info from plasmashell launched from tty with "WAYLAND_DEBUG=1" I am attaching debug information. What I've done during this session: export WAYLAND_DEBUG=1 startplasmacompositor After that I played around with plasma taskbar, after that I launched dolphin to play with decorations, then logout.
We have here a sequence which I kind of expected: [3931322,539] wl_pointer@15.enter(17, wl_surface@68, 622,000000, 2,000000) [3931322,651] -> wl_pointer@15.set_cursor(17, wl_surface@16, 4, 4) [3931322,717] -> wl_surface@16.attach(wl_buffer@50, 0, 0) [3931322,757] -> wl_surface@16.damage(0, 0, 32, 32) [3931322,805] -> wl_surface@16.commit() Qt first sets the new cursor to surface 16, then attaches the buffer and commits the surface. This could result in KWin resetting the cursor. KWin reacts on the set_cursor call and if the surface has no buffer attached it will update cursor to invalid. It looks like everything is save here, but it's a potential risky area. I have to look up whether that's wrong in Qt or in KWin. Anyway I did some more investigation and found another code path which could result in resetting the cursor. I'll attach a patch on top of the other patch.
Created attachment 112394 [details] Patch on top of https://phabricator.kde.org/D12631
Ok, I applied your patch on top of previous one. Partial success, plasma taskbar stopped messing with cursor, it still happens on decoration/window border.
Created attachment 112397 [details] logs after second patch Here are logs post patch, maybe something interesting in there for you.
Good :-) we are getting closer.
Just a small hint :) Flicker on decoration happens when moving mouse from decoration to window. It doesn't happen when I move mouse from window to decorations.
(In reply to Piotr Kloc from comment #27) > Just a small hint :) Flicker on decoration happens when moving mouse from > decoration to window. It doesn't happen when I move mouse from window to > decorations. That's something I saw already in the video and also matches my expectation. Moving to the deco means KWin sets the cursor and there is no chance that this would miss a frame.
Alright, I finally had time to test on my GTX 970 Nvidia system. There cursor doesn't misbehave.
Git commit e3250460cc62800d706d02eda78e866efb12da55 by Martin Flöser. Committed on 19/05/2018 at 06:58. Pushed by graesslin into branch 'Plasma/5.12'. Do not unset cursor image when cursor enters a surface Summary: >From Wayland documentation: "When a seat's focus enters a surface, the pointer image is undefined and a client should respond to this event by setting an appropriate pointer image with the set_cursor request." KWin's interpretation so far for the undefined pointer image was to remove the pointer image when entering a surface waiting for the client to set a cursor image. This can result in a short flicker as there might be a frame without a cursor image. This patch changes the behavior by keeping the previous image till the application set a new one. This brings some advantages: * if the application is not responding a cursor is still shown * if the same cursor is used as in the previous window we don't have a flicker Test Plan: I cannot see the flicker, so only tested with the adjusted tests Reviewers: #kwin, #plasma Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D12631 M +7 -5 autotests/integration/pointer_input.cpp M +6 -7 autotests/integration/scene_qpainter_test.cpp M +9 -2 pointer_input.cpp https://commits.kde.org/kwin/e3250460cc62800d706d02eda78e866efb12da55
I cannot reproduce this on 5.20.4 Can someone else test to confirm?
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
Still an issue. 5.20.5 on Intel HD 4000 modesetting driver. Moving cursor between titlebar and window content produces cursor flicker.
Sounds like a dup for me. *** This bug has been marked as a duplicate of bug 447141 ***
Shouldn't the other be marked as a duplicate of this as it was reported 3 years later?
*** Bug 447141 has been marked as a duplicate of this bug. ***
Still seeing the issue with KDE 5.24.1 Wayland. Using Siduction (Debian sid base) with Norbert Preinings KDE repo, RX6900XT/AMDGPU/Mesa-git 22.1 Really any mouse cursor change shows the flickering glitch. I believe #447797 is another duplicate of the same issue.
*** This bug has been marked as a duplicate of bug 424896 ***