Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
M
mutter
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 786
    • Issues 786
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 104
    • Merge Requests 104
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • 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
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None