[DRM plugin] Correct Atomic Mode Setting
ClosedPublic

Authored by romangg on Mar 26 2017, 8:21 PM.

Details

Summary

This patch makes the AMS execution path work with the new DrmCrtc and DrmBuffer structure and solves major issues about

  • VT switching
  • DPMS
  • Hot plugging
  • Logout
  • Memory leaks

It also aligns with changes made by @fooishbar to his WIP AMS branch for Weston, which I used as an example in the past.

In general with this patch AMS now should be ready for daily use.

Test Plan

Tested with Gl and QPainter. Currently to test AMS you need to set the environment variable KWIN_DRM_AMS or remove the condition in DrmBackend::openDrm().

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
romangg created this revision.Mar 26 2017, 8:21 PM
Restricted Application added a subscriber: kwin. · View Herald TranscriptMar 26 2017, 8:21 PM
romangg updated this revision to Diff 14332.May 9 2017, 3:26 AM

Incorporate changes from stack (update to current master).

romangg updated this revision to Diff 14340.May 9 2017, 2:19 PM

Last diff upload accidentally showed the total diff to master. Now again it only shows the diff to D5179.

graesslin accepted this revision.May 9 2017, 3:03 PM
This revision is now accepted and ready to land.May 9 2017, 3:03 PM
This revision was automatically updated to reflect the committed changes.