Bug 521486 - Libeis: ???? Bug: eis_device_stop_emulating: missing call to eis_device_frame()
Summary: Libeis: ???? Bug: eis_device_stop_emulating: missing call to eis_device_frame()
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (other bugs)
Version First Reported In: 6.6.5
Platform: NixOS Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: multiscreen, wayland-only
Depends on:
Blocks:
 
Reported: 2026-06-15 08:54 UTC by Craig Howard
Modified: 2026-06-25 13:16 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Craig Howard 2026-06-15 08:54:31 UTC
DESCRIPTION

I'm using deskflow with a plasma 6.6.5 client and server.  When I move the mouse from the client back to the server, the mouse cursor remains on the screen on the client (it should disappear) and the error message:

Libeis: 🪲  Bug: eis_device_stop_emulating: missing call to eis_device_frame()

Appears in journalctl --user -u plasma-kwin_wayland -f

I found https://github.com/deskflow/deskflow/issues/9423 which claims this is a kwin bug.

STEPS TO REPRODUCE
1. With two plasma machines, setup deskflow
2. Move the mouse between client and server

OBSERVED RESULT

The mouse pointer remains visible on the client.  It's not just a visual artifact, the pointer is still there, as I can see with a mouseover video preview playing in my browser.  The error message also appears in the journal.

EXPECTED RESULT

The mouse pointer disappears from the client and there are no error messages in the journal.

SOFTWARE/OS VERSIONS

The hardware I have is different between client and server, but the KDE versions are identical, due to both running nixos with the same flake.  The linked deskflow github issue shows this is not a nixos specific issue.

Operating System: NixOS 26.05
KDE Plasma Version: 6.6.5
KDE Frameworks Version: 6.26.0
Qt Version: 6.11.0
Kernel Version: 6.18.35 (64-bit)
Graphics Platform: Wayland
Processors: 24 × AMD Ryzen 9 9900X 12-Core Processor
Memory: 64 GiB of RAM (60.4 GiB usable)
Graphics Processor 1: AMD Radeon RX 7900 GRE
Graphics Processor 2: AMD Ryzen 9 9900X 12-Core Processor


ADDITIONAL INFORMATION

This is not an issue when the client is running x11, but the server is running wayland.
Comment 1 Craig Howard 2026-06-15 18:16:59 UTC
I see the tag and component of 'multiscreen'.  Just to be clear, both machines have a single screen.  But they're are two machines involved.  I'm not sure if that's the correct tag, although I don't know exactly how you're using the tag.
Comment 2 Bug Janitor Service 2026-06-18 09:53:22 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/9415
Comment 3 David Redondo 2026-06-24 09:31:12 UTC
Git commit 9cc4a22b93485ec51385d30f8d436c6e89e61478 by David Redondo.
Committed on 24/06/2026 at 09:06.
Pushed by davidre into branch 'master'.

plugins/eis: Do not send events from release warp to capture

Before we warped the pointer and then deactivated the capture,
this generated a motion event that we forwarded to the capture
(but not frame which resulted in a libei bug log).
Instead deactivate first and warp later before showing the cursor
again.
FIXED-IN:6.6.6

M  +3    -0    autotests/integration/input_capture_test.cpp
M  +4    -7    src/plugins/eis/eisinputcapture.cpp
M  +1    -1    src/plugins/eis/eisinputcapture.h
M  +5    -4    src/plugins/eis/eisinputcapturemanager.cpp
M  +2    -1    src/plugins/eis/eisinputcapturemanager.h

https://invent.kde.org/plasma/kwin/-/commit/9cc4a22b93485ec51385d30f8d436c6e89e61478
Comment 4 David Redondo 2026-06-25 06:18:09 UTC
Git commit 4324dbe1ddcf717db612f688317f60588cc7835b by David Redondo.
Committed on 25/06/2026 at 05:48.
Pushed by davidre into branch 'Plasma/6.7'.

plugins/eis: Do not send events from release warp to capture

Before we warped the pointer and then deactivated the capture,
this generated a motion event that we forwarded to the capture
(but not frame which resulted in a libei bug log).
Instead deactivate first and warp later before showing the cursor
again.
FIXED-IN:6.6.6


(cherry picked from commit 9cc4a22b93485ec51385d30f8d436c6e89e61478)

Co-authored-by: David Redondo <kde@david-redondo.de>

M  +3    -0    autotests/integration/input_capture_test.cpp
M  +4    -7    src/plugins/eis/eisinputcapture.cpp
M  +1    -1    src/plugins/eis/eisinputcapture.h
M  +5    -4    src/plugins/eis/eisinputcapturemanager.cpp
M  +2    -1    src/plugins/eis/eisinputcapturemanager.h

https://invent.kde.org/plasma/kwin/-/commit/4324dbe1ddcf717db612f688317f60588cc7835b
Comment 5 David Redondo 2026-06-25 13:16:50 UTC
Git commit d05f6e2d67bfb539820cc3586afbe4719842475f by David Redondo.
Committed on 25/06/2026 at 09:25.
Pushed by davidre into branch 'Plasma/6.6'.

plugins/eis: Do not send events from release warp to capture

Before we warped the pointer and then deactivated the capture,
this generated a motion event that we forwarded to the capture
(but not frame which resulted in a libei bug log).
Instead deactivate first and warp later before showing the cursor
again.
FIXED-IN:6.6.6

(cherry picked from commit 9cc4a22b93485ec51385d30f8d436c6e89e61478)

Co-authored-by: David Redondo <kde@david-redondo.de>
(cherry picked from commit 4324dbe1ddcf717db612f688317f60588cc7835b)

M  +3    -0    autotests/integration/input_capture_test.cpp
M  +4    -7    src/plugins/eis/eisinputcapture.cpp
M  +1    -1    src/plugins/eis/eisinputcapture.h
M  +5    -4    src/plugins/eis/eisinputcapturemanager.cpp
M  +2    -1    src/plugins/eis/eisinputcapturemanager.h

https://invent.kde.org/plasma/kwin/-/commit/d05f6e2d67bfb539820cc3586afbe4719842475f