Diffusion KWin 997cf97c9f70

Atomic Mode Setting / Universal Plane preliminary support

Authored by romangg on Aug 31 2016, 12:00 PM.

Description

Atomic Mode Setting / Universal Plane preliminary support

This is Milestone 1 of full support of Atomic Mode Setting (AMS) and
Universal Planes in the KWin DRM backend.

With Milestone 1 we can use the primary plane of a DRM output and do an
AMS commit (this means mode setting aswell as page flipping), if the
driver supports it. Until now the functionality is only tested on Intel
graphics. You need the drm-next kernel for most recent DRM kernel
developments. As boot option set "i915.nuclear_pageflip". Additionally
at the moment AMS is still hidden behind the environment variable
KWIN_DRM_AMS. Set it, if you want to try out AMS.

What needs to be done next: Make it possible to transfer EGL buffers
directly to planes and implement logic for deciding about using a plane
or not for a specific buffer.

You can read more about it on LWN:
https://lwn.net/Articles/653071
And on Martin's blog:
https://blog.martin-graesslin.com/blog/2015/08/layered-compositing/
I used as model previous work by Daniel Stone for Weston:
https://git.collabora.com/cgit/user/daniels/weston.git

Reviewed-by: mgraesslin

Tags: KWin

Differential Revision: https://phabricator.kde.org/D2370

Details

Committed
romanggAug 31 2016, 12:06 PM
Differential Revision
D2370: Atomic Mode Setting / Universal Plane preliminary support
Parents
R108:4c0e33a94c80: Add a Workspace::findToplevel(QWindow*) method
Branches
Unknown
Tags
Unknown