From Free Software Directory
Revision as of 15:52, 18 March 2022 by Panos Alevropoulos (talk | contribs)

(diff) ← Older revision | Approved revision (diff) | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



Pluggable, composable, unopinionated modules for building a Wayland compositor

wlroots provides back-ends that abstract the underlying display and input hardware, including KMS/DRM, libinput, Wayland, X11, and headless back-ends, plus any custom back-ends you choose to write, which can all be created or destroyed at runtime and used in concert with each other.

wlroots implements a huge variety of Wayland compositor features and implements them right, so you can focus on the features that make your compositor unique. By using wlroots, you get high performance, excellent hardware compatibility, broad support for many wayland interfaces, and comfortable development tools - or any subset of these features you like, because all of them work independently of one another and freely compose with anything you want to implement yourself.


  • Unopinionated, mostly standalone implementations of many Wayland interfaces, both from wayland.xml and various protocol extensions. We also promote the standardization of portable extensions across many compositors.
  • Several powerful, standalone, and optional tools that implement components common to many compositors, such as the arrangement of outputs in physical space.
  • Xwayland abstraction that allows you to have excellent Xwayland support without worrying about writing your own X11 window manager on top of writing your compositor.
  • A renderer abstraction that simple compositors can use to avoid writing GL code directly, but which steps out of the way when your needs demand custom rendering code.

"IRC general" IRC general channel



Verified by

Verified on


Leaders and contributors

Resources and communication

AudienceResource typeURI

Software prerequisites

Weak prerequisitelibxcb-errors (for X11 support)
Required to buildxwayland (for X11 support)
Weak prerequisitelibinput
Required to buildlibseat
Required to buildxkbcommon
Required to buildwayland
Weak prerequisiteEGL and GLESv2 (for the GLES2 renderer)
Required to buildudev
Required to buildgbm
Required to buildmeson
Required to buildpixman
Required to buildlibdrm
Required to buildlibxcb (for X11 support)
Required to buildlibxcb-render-util (for X11 support)
Required to build[libxcb-wm]] (for X11 support)
Weak prerequisitevulkan and glslang (for the vulkan renderer)
Required to buildwayland-protocols

This entry (in part or in whole) was last reviewed on 18 March 2022.


"Users" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.

"{{{Submitted date}}}" contains an extrinsic dash or other characters that are invalid for a date interpretation.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.