Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • W weston
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 316
    • Issues 316
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 118
    • Merge requests 118
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • wayland
  • weston
  • Merge requests
  • !293

Merged
Created Nov 08, 2019 by Olivier Fourdan@ofourdan🛠

xwm: Use Xwayland allow commits for repaint

  • Overview 6
  • Commits 1
  • Pipelines 6
  • Changes 1

Initially, _XWAYLAND_ALLOW_COMMITS was introduced in commit 7ace831c to avoid drawing the window content before it's ready to be shown.

But a repaint might also be triggered by the client damages before the XWM has finished drawing its window decorations and drop shadows, which previously was not too much of an issue since the XWM could still finish updating the X11 window after the buffer was submitted.

However, with the addition of multiple window buffers in Xwayland [1] which are aimed at preventing the X11 clients from updating the buffer after it's been committed, this is no longer possible.

As a result, the use of multiple window buffers in Xwayland can cause ugly repainting effects of the decorations if the buffer is submitted before the XWM has finished painting its decorations.

Use the X11 property _XWAYLAND_ALLOW_COMMITS can be used to avoid this, by controlling when Xwayland should commit changes to the Wayland surface.

[1] xorg/xserver!316 (merged)

Edited Nov 12, 2019 by Olivier Fourdan
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: extend-allow-commits