No announcement yet.

Wayland code commited to KWin

  • Filter
  • Time
  • Show
Clear All
new posts

  • Wayland code commited to KWin

    KWin goes Wayland (from this commit by Martin Graesslin):
    Initial Implementation of a Wayland Server in KWin. The current
    state allows to render Wayland "Clients" in the normal EGL
    compositing backend. The content gets updated correctly when other
    windows are damaged at the same time, but Wayland damage events
    seem to be lost, when there are no other triggered repaints.

    Wayland clients are added to the scene in the same way as Unmanaged
    X11 windows and Deleted windows: on top of everything else. It is
    currently not yet possible to interact in any way with the clients.
    They do not get input events and you cannot move them or do anything
    else fancy with them. Though they are already nicely integrated into
    the Effects system. So all effects which handle unmanaged should
    also handle the Wayland clients.

    All new Wayland relevant code can be found in the directory wayland.
    It contains the Server implementation (wayland.(cpp|h)), a representation
    for Surfaces (surface.(cpp|h)) and a new subclass of Toplevel
    All new classes are in a new namespace KWin::Wayland, the idea is
    to move all X11 classes in a namespace KWin:X11 to better separate
    what is generic (namepsace KWin) and what is backend specific.

    The changes in the existing code base are tried to be kept to a
    minimum. The biggest change is in the OpenGL EGL Scene which now
    has to render Wayland buffers and XPixmaps. Also composite.cpp
    has seen some changes to start/stop the Wayland server and adjust
    the Toplevel's compositing functions to not create any X resources
    for the Wayland client. This has to be split in a better way by
    moving all X11 related code in a X11 specific implementation.