Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • xserver xserver
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 922
    • Issues 922
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 124
    • Merge requests 124
  • 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
  • xorgxorg
  • xserverxserver
  • Issues
  • #1150
Closed
Open
Issue created Mar 12, 2021 by Simon Ser@emersionContributor

Xwayland delays Present frame submissions

I'm trying to fix the following issue:

  • An X11 Vulkan client uses a MAILBOX present mode.
  • The Vulkan WSI sends a PresentPixmap request with a zero target-msc.
  • Xwayland receives the request (in present_wnmd_pixmap), but doesn't forward it to the parent Wayland compositor. Instead, it waits for a wl_surface.frame callback.
  • When the wl_surface.frame callback is done, Xwayland attaches the new buffer and commits the surface.

Here is a visualization of the Xwayland events. The pink vertical lines are vblanks.

This behavior is an issue because it introduces a whole vblank worth of latency. The X11 client just wants to display a frame at the next vblank, but because Xwayland waits for wl_surface.frame`, it ends up being displayed two vblanks later.

Couldn't Xwayland submit the frame as soon as the client issues the PresentPixmap request?

This would require some changes in the present_wnmd code, but it seems doable.

Note, this issue is different from #971 (even if it's related). #971 is about using presentation-time to provide proper feedback to X11 clients. This issue is about the frame submission timing only.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking