Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • mutter mutter
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 1.2k
    • Issues 1.2k
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 123
    • Merge requests 123
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • muttermutter
  • Issues
  • #1208
Closed
Open
Issue created Apr 28, 2020 by Dor Askayo@doraskayoDeveloper

Wayland: Input event dispatch to clients is delayed to the next composited frame

Description

When compressible input events (cursor move, touch update) are received from libinput, they are always queued in Clutter to be handled when a new frame is composited.

This means that their resolution/frequency is limited by the refresh rate of the monitor. It also means that Mutter creates input latency of up to a single refresh cycle (~16 ms for 60Hz) for Wayland clients.

While input events to the shell UI should only be handled once in a display refresh cycle, sending input events earlier to clients would allow their next frame to be more up-to-date.

In X sessions, input events are sent by the X server to the relevant X clients, including the window manager. In that case, Mutter as the window manager doesn't prevent clients from receiving and handling their input events early; it only delays its own handling of these events.

Possible Solution

Send events to clients as soon as they are received, while also queuing them for handling on the next update.

Edited Dec 19, 2020 by Dor Askayo
Assignee
Assign to
Time tracking