Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • M mutter
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 975
    • Issues 975
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 124
    • Merge requests 124
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOME
  • mutter
  • Issues
  • #1208

Closed
Open
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