Remove vsync detection and configurability
Needs ReviewPublic

Authored by romangg on Aug 27 2019, 8:28 PM.

Details

Reviewers
zzag
Group Reviewers
KWin
Maniphest Tasks
T11071: Rework compositing pipeline
Summary

Selecting not to vsync does not make sense for an X11 compositor. In the end
we want clients to be able to present async if they want to but the compositor
is supposed to send swaps with vsync to the XServer in order to not generate
tearing artifacts.

There was also a detection logic which did some questionable things in case
vsync was not available. I don't think this is necessary at all since we can
just always run a timer to present with or without vsync.

Test Plan

kwin_x11 tested on i915.

Diff Detail

Repository
R108 KWin
Branch
rmVsyncConfig
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 16828
Build 16846: arc lint + arc unit
romangg created this revision.Aug 27 2019, 8:28 PM
Restricted Application added a project: KWin. · View Herald TranscriptAug 27 2019, 8:28 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
romangg requested review of this revision.Aug 27 2019, 8:28 PM
zzag requested changes to this revision.Aug 28 2019, 5:25 PM
zzag added a subscriber: zzag.
  • Remove NoSwapEncourage as it's no longer used anywhere
  • Remove "Never" vsync option in Compositing KCM
This revision now requires changes to proceed.Aug 28 2019, 5:25 PM
zzag added a comment.Sep 5 2019, 8:59 AM

I won't object to removing "no vsync" option, however keep in mind that some people may not like it. The whole point of using a compositing window manager on X11 is to get rid of screen tearing and make windows wobbly, right?

In D23511#525855, @zzag wrote:

I won't object to removing "no vsync" option, however keep in mind that some people may not like it. The whole point of using a compositing window manager on X11 is to get rid of screen tearing and make windows wobbly, right?

The idea is that for that we don't need the "no vsync" option. Minimizing screen tearing is achieved when respecting the vsync, so why should there be an option to not do it in a window compositor?

romangg updated this revision to Diff 66535.Fri, Sep 20, 10:48 AM
  • Remove NoSwapEncourage strategy
  • Remove never swap option from KCM
  • Rebase on master
zzag added inline comments.Fri, Sep 20, 11:21 AM
composite.cpp
342–344

Delete this branch?

romangg added inline comments.Fri, Sep 20, 11:29 AM
composite.cpp
342–344

Yea, I added an assert before anyway. I don't remember why I left the branch in and added the assert instead. Was maybe not sure about it but if you also see nothing wrong with removing the branch at the moment I'm gonna do it.

zzag added inline comments.Fri, Sep 20, 4:20 PM
composite.cpp
342–344

Yes, please delete this branch.