wlroots-hyprland/README.md

84 lines
2.8 KiB
Markdown
Raw Normal View History

2018-03-04 22:33:45 +01:00
# wlroots
2017-04-25 17:32:52 +02:00
2018-04-13 03:29:45 +02:00
Pluggable, composable, unopinionated modules for building a
2018-11-24 21:24:20 +01:00
[Wayland](http://wayland.freedesktop.org/) compositor; or about 50,000 lines of
2018-04-13 03:29:45 +02:00
code you were going to write anyway.
2017-04-25 17:32:52 +02:00
2018-04-13 03:29:45 +02:00
- wlroots provides backends that abstract the underlying display and input
hardware, including KMS/DRM, libinput, Wayland, X11, and headless backends,
plus any custom backends you choose to write, which can all be created or
destroyed at runtime and used in concert with each other.
- wlroots provides 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.
2018-04-13 03:33:51 +02:00
- wlroots provides several powerful, standalone, and optional tools that
implement components common to many compositors, such as the arrangement of
outputs in physical space.
2018-04-13 03:29:45 +02:00
- wlroots provides an 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.
- wlroots provides 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.
2017-08-13 14:29:04 +02:00
2018-04-13 03:29:45 +02:00
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
2018-05-03 22:43:54 +02:00
compatibility, broad support for many wayland interfaces, and comfortable
2018-04-13 03:29:45 +02:00
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.
2018-10-12 14:27:09 +02:00
Check out our [wiki](https://github.com/swaywm/wlroots/wiki/Getting-started) to
get started with wlroots.
2017-08-13 14:29:04 +02:00
2018-04-13 03:29:45 +02:00
wlroots is developed under the direction of the
[sway](https://github.com/swaywm/sway) project. A variety of wrapper libraries
[are available](https://github.com/swaywm) for using it with your favorite
programming language.
2017-06-06 16:54:53 +02:00
## Building
Install dependencies:
2018-04-13 03:29:45 +02:00
* meson
2017-06-06 16:54:53 +02:00
* wayland
* wayland-protocols
* EGL
* GLESv2
2018-04-13 03:29:45 +02:00
* libdrm
2017-06-06 16:54:53 +02:00
* GBM
* libinput
2018-04-13 03:29:45 +02:00
* xkbcommon
2017-06-06 16:54:53 +02:00
* udev
2017-08-09 16:24:28 +02:00
* pixman
2017-06-06 16:54:53 +02:00
* systemd (optional, for logind support)
2017-09-22 19:16:11 +02:00
* elogind (optional, for logind support on systems without systemd)
2017-07-03 14:29:03 +02:00
* libcap (optional, for capability support)
2018-04-13 03:29:45 +02:00
If you choose to enable X11 support:
2018-05-05 07:25:11 +02:00
* xcb
* xcb-composite
* xcb-xfixes
* xcb-xinput
2018-05-05 07:25:11 +02:00
* xcb-image
* xcb-render
2018-04-13 03:29:45 +02:00
* x11-xcb
* xcb-errors (optional, for improved error reporting)
* x11-icccm (optional, for improved Xwayland introspection)
2017-06-06 16:54:53 +02:00
Run these commands:
2017-07-17 20:38:28 +02:00
meson build
ninja -C build
2017-10-10 00:23:43 +02:00
2018-04-13 03:29:45 +02:00
Install like so:
2017-11-16 21:39:48 +01:00
2018-04-13 03:29:45 +02:00
sudo ninja -C build install
2017-11-16 21:39:48 +01:00
2018-04-13 03:29:45 +02:00
## Contributing
2017-11-16 21:39:48 +01:00
2018-04-13 03:29:45 +02:00
See [CONTRIBUTING.md](https://github.com/swaywm/wlroots/blob/master/CONTRIBUTING.md).