Go to file
JiDe Zhang 2efde56bfd chore: update changelog for 0.7.4 release
Update the debian changelog to reflect the changes included in the 0.7.4
release. This includes listing the bug fixes and refactoring efforts
that went into the release, providing a clear record of the changes for
users and maintainers. The changes include fixes for build failures on
Arch Linux, heap-use-after-free issues, Qt private module inclusion for
Qt 6.11, build problems when examples are enabled, and the removal of
branch filters for workflow triggers.

Influence:
This change does not directly affect the application's functionality.
However, it improves the package information and history, which aids in
debugging and maintenance. After the release, verify the changelog is
accurate and accessible through the package manager or documentation.
Ensure build and runtime issues addressed in this release are resolved
by black box testing on the targeted operating systems, especially Arch
Linux.

chore: 更新 0.7.4 版本的更新日志

更新 debian 的更新日志以反映 0.7.4 版本中包含的更改。 这包括列出版本中包
含的错误修复和重构工作,为用户和维护人员提供清晰的更改记录。 这些更改包
括修复 Arch Linux 上的构建失败、堆释放后使用问题、Qt 6.11 的 Qt 私有模块
包含、启用示例时的构建问题以及删除工作流触发器的分支过滤器。

Influence:
此更改不会直接影响应用程序的功能。 但是,它改进了软件包信息和历史记录,
有助于调试和维护。 发布后,验证更改日志是否准确,并且可以通过软件包管理
器或文档访问。 确保通过在目标操作系统(尤其是 Arch Linux)上进行黑盒测试
来解决此版本中解决的构建和运行时问题。
2025-10-15 13:47:44 +08:00
.github refactor: remove branch filter for workflow triggers 2025-10-15 11:27:24 +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: update changelog for 0.7.4 release 2025-10-15 13:47:44 +08:00
docs docs: add comprehensive logging guidelines and update module logging 2025-08-11 18:21:02 +08:00
examples fix: fix build when treeland examples are enabled 2025-10-15 11:27:24 +08:00
misc fix: Separate DConfig object creation to another thread to avoid blocking 2025-09-11 19:06:22 +08:00
nix fix: Separate DConfig object creation to another thread to avoid blocking 2025-09-11 19:06:22 +08:00
qwlroots fix: Fix client crash when created via security context 2025-09-15 14:48:34 +08:00
src fix: compile errors on Arch for forward declared class 2025-10-15 11:27:24 +08:00
tests fix: add timeout to protocol tests 2025-07-23 15:27:52 +08:00
translations Updates for project TreeLand (#563) 2025-09-21 15:05:11 +08:00
waylib fix: include Qt private modules for Qt 6.11 2025-10-15 11:27:24 +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: merge qwlroots and waylib source code into treeland 2025-07-23 15:27:52 +08:00
CMakeLists.txt chore(debian): update version to 0.7.0 2025-08-29 12:05:50 +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 chore: fix CI and enable independent builds 2025-07-23 15:27:52 +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.