mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-02 09:01:38 -05:00
A modular Wayland compositor library
since we're looking at pointer differences.
Otherwise the build fails on arm like
In file included from ../backend/drm/drm.c:19:0:
../include/wlr/util/log.h:34:17: error: format '%jd' expects argument of type 'intmax_t', but argument 7 has type 'int' [-Werror=format=]
_wlr_log(verb, "[%s:%d] " fmt, _strip_path(__FILE__), __LINE__, ##__VA_ARGS__)
^
../backend/drm/drm.c:462:2: note: in expansion of macro 'wlr_log'
wlr_log(L_DEBUG, "%s: crtc=%ju ovr=%jd pri=%jd cur=%jd", conn->output.name,
^~~~~~~
../backend/drm/drm.c:462:39: note: format string is defined here
wlr_log(L_DEBUG, "%s: crtc=%ju ovr=%jd pri=%jd cur=%jd", conn->output.name,
~~^
%d
|
||
|---|---|---|
| backend | ||
| examples | ||
| include | ||
| protocol | ||
| render | ||
| rootston | ||
| types | ||
| util | ||
| xcursor | ||
| xwayland | ||
| .build.yml | ||
| .editorconfig | ||
| .gitignore | ||
| .travis.yml | ||
| CONTRIBUTING.md | ||
| glgen.sh | ||
| LICENSE | ||
| meson.build | ||
| meson_options.txt | ||
| README.md | ||
wlroots 
Pluggable, composable modules for building a Wayland compositor.
This is a WIP: status
Contributing
See CONTRIBUTING.md
Building
Install dependencies:
- wayland
- wayland-protocols
- EGL
- GLESv2
- DRM
- GBM
- libinput
- udev
- pixman
- systemd (optional, for logind support)
- elogind (optional, for logind support on systems without systemd)
- libcap (optional, for capability support)
- asciidoc (optional, for man pages)
Run these commands:
meson build
ninja -C build
(On FreeBSD, you need to pass an extra flag to prevent a linking error: meson build -D b_lundef=false)
Running the Reference Compositor
wlroots comes with a reference compositor called rootston that demonstrates the features of the library.
After building, run rootston from a terminal or VT with:
./build/rootston/rootston
Now you can run windows in the compositor from the command line or by
configuring bindings in your
rootston.ini
file.