I have the exactly same issue in my Samsung Labtop, which have a stylus functionality.
But, the solution Gohan Tabetai is not working for me.
I’m struggling and still looking for a new solution…
I am experiencing the same ghost cursor issue on Fedora 44 (Rawhide) with GNOME 50 on my Samsung laptop (built-in stylus).
I’ve conducted some focused debugging to narrow down the cause:
libinput is healthy: Running sudo libinput debug-events shows that the hardware and driver are working correctly. When the stylus is lifted, it logs TABLET_TOOL_PROXIMITY with proximity-out immediately and maintains valid coordinates until the very end. There is no jump to (0,0) in the input layer.
Silent failure in GNOME Shell: I monitored journalctl -f -t gnome-shell in real-time while reproducing the issue. Interestingly, no error logs or assertions are triggered at the exact moment the stylus leaves proximity and the ghost cursor appears at (0,0).
The behavior: It seems Mutter is receiving the proximity-out event but fails to trigger the cursor destruction/hide logic. Instead of being destroyed, the tablet cursor object’s coordinates appear to be reset to the origin (0,0) and remain rendered on the screen.
Since Fedora 44 has dropped gnome-session-x11, there is no way to retreat to Xorg to avoid this Wayland-specific bug.
It appears to be a regression in how GNOME 50’s Mutter handles the lifecycle of tablet cursor planes on Wayland. Hope this helps the developers identify the missing logic!
I have further narrowed down the symptoms on Fedora 44 (GNOME 50, Wayland). This is a critical input mapping bug tied to window states.
New Critical Finding: Maximized Window Issue
The Problem: The stylus input failure is most consistent when an application is Maximized. In full-screen or maximized mode, the stylus often fails to register any clicks or movement.
The Workaround: If I resize the window to a smaller floating mode, the stylus starts working normally again.
The “Ghost” Connection: It appears that when a window is maximized, the “ghost cursor” stuck at (0, 0) interferes with the input event delivery for the entire surface area.
Updated Summary of Observations:
Ghost Cursor: Stylus proximity-out leaves a persistent artifact at (0, 0).
Focus Loss on Maximized Windows: Input is lost specifically when windows are maximized. Scaling the window down to a smaller size restores input.
Alt-Tab Refresh: Switching focus away and back via Alt-Tab provides a temporary fix, but it’s unstable.
libinput Proof:sudo libinput debug-events shows that the hardware is sending correct, continuous data throughout these failures.
Conclusion for Developers: This suggests a regression in Mutter’s input transformation or surface picking logic. The ghost cursor at (0, 0) seems to be “capturing” or “invalidating” the input focus for maximized surfaces. This makes the stylus nearly unusable for productive work in a standard maximized-window workflow.