Go to file
rewine 27d5c8cc73 chore(debian): update version to 0.7.6
Log: new version
2025-10-30 20:26:03 +08:00
.github chore: change Debian build environment to unstable 2025-10-16 13:28:04 +08:00
.tx chore: configure translation files and update Chinese translations 2025-06-24 14:43:20 +08:00
LICENSES feat: add foreign toplevel image capture support 2025-07-31 20:37:24 +08:00
cmake chore: improvement fixes the translation configuration 2025-06-30 13:40:51 +08:00
debian chore(debian): update version to 0.7.6 2025-10-30 20:26:03 +08:00
docs docs: add comprehensive logging guidelines and update module logging 2025-08-11 18:21:02 +08:00
examples i18n: Updates for project TreeLand (#601) 2025-10-21 10:42:49 +08:00
misc chore: add ASAN environment variables 2025-10-16 21:36:37 +08:00
nix fix: Separate DConfig object creation to another thread to avoid blocking 2025-09-11 19:06:22 +08:00
qwlroots fix(qwlroots): allow server side destruction of qw_session_lock_v1 2025-09-26 10:23:25 +08:00
src fix: Put Treeland at the first place for session selection 2025-10-30 20:25:26 +08:00
tests fix: add timeout to protocol tests 2025-07-23 15:27:52 +08:00
translations i18n: Updates for project TreeLand (#601) 2025-10-21 10:42:49 +08:00
waylib refactor: implement atomic multi-output configuration 2025-10-30 10:51:03 +08:00
.clang-format Revert too new clang-format standard. 2024-11-15 14:37:55 +08:00
.editorconfig feat: add `.editorconfig` 2024-03-07 11:26:41 +08:00
.envrc chore: fix not found qtsvg in nixos 2024-01-24 21:47:19 +08:00
.gitignore refactor: implement atomic multi-output configuration 2025-10-30 10:51:03 +08:00
CMakeLists.txt feat: implement ext-session-lock-v1 support 2025-09-26 10:23:25 +08:00
CMakePresets.json refactor: use unified CI build preset with Werror 2025-08-18 16:01:51 +08:00
README.md ci: Trigger waylib builds when qwlroots changes 2025-07-30 17:57:57 +08:00
README.zh_CN.md ci: Trigger waylib builds when qwlroots changes 2025-07-30 17:57:57 +08:00
REUSE.toml feat(waylib): implement ext-session-lock-v1 protocol support 2025-09-26 10:23:25 +08:00
default.nix feat: add Nix flake support for project configuration 2025-07-24 20:07:56 +08:00
flake.lock chore: fix CI and enable independent builds 2025-07-23 15:27:52 +08:00
flake.nix feat: add Nix flake support for project configuration 2025-07-24 20:07:56 +08:00
garnix.yaml feat: allow ddm works in nixos 2024-03-06 13:21:37 +08:00
renovate.json chore(config): migrate config renovate.json 2025-06-23 13:22:14 +08:00

README.md

Treeland

treeland is a wayland compositor based on wlroots and QtQuick, designed to provide efficient and flexible graphical interface support.

Dependencies

Check the debian/control file to understand specific build and runtime dependencies, or use cmake to check for missing necessary components.

Core build dependencies:

  • waylib: A Wayland compositor development library based on wlroots and QtQuick
    • Qt >= 6.8.0
    • wlroots = 0.19
  • treeland-protocols: Private Wayland protocols used by treeland

Recommended runtime dependencies:

  • ddm: A display manager optimized for multiple users

Building

Treeland uses cmake for building. The WITH_SUBMODULE_WAYLIB option can force the use of the waylib code from the submodule. If you want to use the system-provided waylib, set this option to OFF.

Using the system-provided waylib:

$ git clone git@github.com:linuxdeepin/treeland.git
$ cd treeland
$ cmake -Bbuild -DWITH_SUBMODULE_WAYLIB=OFF
$ cmake --build build

Using the waylib from the submodule:

$ git clone git@github.com:linuxdeepin/treeland.git --recursive
$ cd treeland
$ cmake -Bbuild -DWITH_SUBMODULE_WAYLIB=ON
$ cmake --build build

Packaging

A debian folder is provided to build the package under the deepin linux desktop distribution. To build the package, use the following command:

$ sudo apt build-dep . # install build dependencies
$ dpkg-buildpackage -uc -us -nc -b # build binary package(s)

GitHub Actions / CI

This project uses GitHub Actions for continuous integration. The following workflows are configured:

  • qwlroots builds: Triggered when qwlroots/** files are modified
  • waylib builds: Triggered when waylib/** or qwlroots/** files are modified (since waylib depends on qwlroots)
  • treeland builds: Main project builds

The waylib workflows are configured to also trigger when qwlroots code changes, ensuring that waylib builds remain compatible with qwlroots modifications.

Getting Involved

License

treeland is licensed under Apache-2.0 OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only.