Repository navigation
Conversation
MetaVirtualInputDeviceX11 currently doesn't handle smooth scroll events at all. So, if a user of the remote desktop API uses smooth scroll events, then only the wayland backend handles these events. The user of the remote desktop API however, might not know which backend is being used and actually the user should not even have to care about it. Actual smooth events cannot be emulated in the X11 events. What can be done however is accumulating smooth events and then when the accumulated steps surpass the DISCRETE_SCROLL_STEP value, emit a discrete scroll event. So, do exactly that, to make smooth scroll events work when the remote desktop API is used with the x11 backend. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1727> (cherry picked from commit a5d692582dbd29fa39a01350f416997db2d495c9) Signed-off-by: radkawar <radkawar28@gmail.com> (cherry picked from commit 3ff5a15) Signed-off-by: radkawar <radkawar28@gmail.com>
radkawar
force-pushed
the
fix/x11-smooth-scroll
branch
from
October 24, 2026 04:08
ab4f34e to
7763c10
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport Mutter's existing X11 smooth-scroll implementation (
a5d69258), preserving Pascal Nowack's authorship. The current virtual-device method is empty, so continuous scroll events are silently lost. Accumulate the deltas into the discrete wheel events XTest can deliver. This does not change the distribution's remote desktop build option.Native test: Linux Mint 22.3 Cinnamon X11, golden KVM guest admitted through the lab FIFO. Applied the same change to Muffin 6.6.3 and built its normal Debian packages with the existing remote desktop option enabled. In a locally consented public RemoteDesktop/ScreenCast session,
NotifyPointerAxisDiscrete(0, 1)andNotifyPointerAxis(0, 12)each delivered a real GTK down-scroll event to the witness window. The test also decoded real PipeWire frames and verified input rejection and held-key/button release after session closure.Also checked current development master
17c958413753feafdbd5d58dc1e420f72a5f1859, not just the shipped Mint version. Built it normally in the golden VM, then used its matching library/GIR and the normal Clutter seat factory on an isolated authenticated Xvfb display. A continuous delta(0, 12)produced zero real X ButtonPress events on master and one with the focused PR implementation. This bug is still present on current master.The native public-portal test client is in the fork-only Xapp implementation. It requires actual local consent rather than a private compositor bypass.
AI disclosure: AI-assisted development and native-test orchestration. The original upstream source fix and author are preserved, and the native test above was executed.