Bug 521953 - Cursor disappears with visibility dodge windows
Summary: Cursor disappears with visibility dodge windows
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: xwayland (other bugs)
Version First Reported In: 6.7.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-06-21 22:52 UTC by rodrigocarbone01
Modified: 2026-06-29 21:15 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
drm bug output (328.00 KB, application/json)
2026-06-23 00:32 UTC, rodrigocarbone01
Details
drm normal (mouse showing) output (328.00 KB, application/json)
2026-06-23 00:33 UTC, rodrigocarbone01
Details
fullscreen behaviour (3.08 MB, video/mp4)
2026-06-23 00:43 UTC, rodrigocarbone01
Details
context menu (3.54 MB, video/mp4)
2026-06-23 00:44 UTC, rodrigocarbone01
Details
dodge windows behaviour (2.55 MB, video/mp4)
2026-06-23 00:50 UTC, rodrigocarbone01
Details

Note You need to log in before you can comment on or make changes to this bug.
Description rodrigocarbone01 2026-06-21 22:52:54 UTC
DESCRIPTION

The mouse cursor becomes invisible when the panel visibility is set to
"Dodge Windows" and a window triggers the panel to hide. The cursor
remains functional (clicks register) but is not rendered on screen.
The issue occurs for instance in Brave and Discord.

STEPS TO REPRODUCE

1. Open Panel settings (right-click panel → Edit Panel)
2. Set panel visibility to "Dodge Windows"
3. Open or move any window so that it touches or overlaps the panel edge
4. Observe the panel sliding away to hide

OBSERVED RESULT

The mouse cursor disappears and is no longer visible anywhere on screen.
Clicking still works, but the cursor remains invisible.

EXPECTED RESULT

The mouse cursor should remain visible at all times, regardless of panel
hide/show animations triggered by Dodge Windows mode.

SOFTWARE/OS VERSIONS

Operating System: CachyOS Linux
KDE Plasma Version: 6.7.0
KDE Frameworks Version: 6.27.0
Qt Version: 6.11.1
Kernel Version: 7.0.12-1-cachyos (64-bit)
Graphics Platform: Wayland
Processors: 12 × 11th Gen Intel® Core™ i5-11400H @ 2.70GHz
Memory: 32 GiB of RAM (31.0 GiB usable)
Graphics Processor 1: Intel® UHD Graphics
Graphics Processor 2: NVIDIA GeForce RTX 3050 Laptop GPU

ADDITIONAL INFORMATION

- The cursor is invisible but functional; clicks register in the correct
  position.
- Workarounds that temporarily restore the cursor:
    - Using Visibility always visible (although it also appears to be glitches when opening a context windows inside an aplication, eg Brave)
- When recording the screen with Spectacle, the cursor disappearance does
  NOT occur. The bug only manifests during a normal desktop session without
  active screen recording.
Comment 1 Zamundaaa 2026-06-22 12:51:10 UTC
Please run drm_info when the cursor isn't visible, and attach its output here.
Comment 2 rodrigocarbone01 2026-06-23 00:32:01 UTC
Created attachment 193567 [details]
drm bug output
Comment 3 rodrigocarbone01 2026-06-23 00:33:03 UTC
Created attachment 193568 [details]
drm normal (mouse showing) output
Comment 4 rodrigocarbone01 2026-06-23 00:43:48 UTC
Created attachment 193569 [details]
fullscreen behaviour

mouse disappears when in full screen mode
Comment 5 rodrigocarbone01 2026-06-23 00:44:59 UTC
Created attachment 193570 [details]
context menu

mouse glitches when opening a context menu and moving around it
Comment 6 rodrigocarbone01 2026-06-23 00:50:41 UTC
Created attachment 193571 [details]
dodge windows behaviour

video showing how the cursor behaves with dodge windows enabled
Comment 7 Zamundaaa 2026-06-23 14:36:50 UTC
There's two weird things here:
- KWin doesn't use the hardware cursor on your system
- it does use overlays, even when the hardware cursor is not used

Which would explain the issue with the context menu: the cursor is rendered below the menu.

If you set https://invent.kde.org/plasma/kwin/-/wikis/Environment-Variables#kwin_use_overlays to 0 and reboot, does that help? Also, please attach the output of drm_info with the cursor visible and that env var set
Comment 8 rodrigocarbone01 2026-06-24 01:04:55 UTC
(In reply to Zamundaaa from comment #7)
> There's two weird things here:
> - KWin doesn't use the hardware cursor on your system
> - it does use overlays, even when the hardware cursor is not used
> 
> Which would explain the issue with the context menu: the cursor is rendered
> below the menu.
> 
> If you set
> https://invent.kde.org/plasma/kwin/-/wikis/Environment-
> Variables#kwin_use_overlays to 0 and reboot, does that help? Also, please
> attach the output of drm_info with the cursor visible and that env var set

When I went to modify /etc/environment to set use overlays to 0 I found this:

#
# This file is parsed by pam_env module
#
# Syntax: simple "KEY=VAL" pairs on separate lines
#
KWIN_FORCE_SW_CURSOR=1

I honestly don't even remember when or why I set this, definitely I had it before updating that's for sure. I commented the variable and reboot and that fixed the issue. Still not sure what changed that could have changed the behaviour in between updates.
Comment 9 Bug Janitor Service 2026-06-26 15:26:45 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/9476
Comment 10 Zamundaaa 2026-06-29 14:31:56 UTC
Git commit 6bcde148402c7077a726a8722395c35c8d9f0518 by Xaver Hugl.
Committed on 29/06/2026 at 13:06.
Pushed by zamundaaa into branch 'master'.

scene/workspacescene: don't ignore forced software cursor for direct scanout

Otherwise it can end up being wrongly hidden.

M  +1    -0    src/scene/workspacescene.cpp

https://invent.kde.org/plasma/kwin/-/commit/6bcde148402c7077a726a8722395c35c8d9f0518
Comment 11 Zamundaaa 2026-06-29 21:15:57 UTC
Git commit 0164cddc76adb1dc4d2cb84396f0bf95ab01f86d by Xaver Hugl.
Committed on 29/06/2026 at 20:51.
Pushed by zamundaaa into branch 'Plasma/6.7'.

scene/workspacescene: don't ignore forced software cursor for direct scanout

Otherwise it can end up being wrongly hidden.


(cherry picked from commit 6bcde148402c7077a726a8722395c35c8d9f0518)

Co-authored-by: Xaver Hugl <xaver.hugl@kde.org>

M  +1    -0    src/scene/workspacescene.cpp

https://invent.kde.org/plasma/kwin/-/commit/0164cddc76adb1dc4d2cb84396f0bf95ab01f86d