2024-12-11 10:48:28 +08:00
# Treeland
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
treeland is a wayland compositor based on wlroots and QtQuick, designed to provide efficient and flexible graphical interface support.
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
## Dependencies
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
Check the `debian/control` file to understand specific build and runtime dependencies, or use `cmake` to check for missing necessary components.
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
Core build dependencies:
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
- [waylib ](https://github.com/vioken/waylib ): A Wayland compositor development library based on wlroots and QtQuick
- Qt >= 6.8.0
- wlroots = 0.18
- [treeland-protocols ](https://github.com/linuxdeepin/treeland-protocols ): Private Wayland protocols used by treeland
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
Recommended runtime dependencies:
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
- [ddm ](https://github.com/linuxdeepin/ddm ): A display manager optimized for multiple users
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
## Building
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
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.
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
Using the system-provided waylib:
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
```shell
$ git clone git@github.com:linuxdeepin/treeland.git
$ cd treeland
$ cmake -Bbuild -DWITH_SUBMODULE_WAYLIB=OFF
$ cmake --build build
```
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
Using the waylib from the submodule:
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
```shell
$ git clone git@github.com:linuxdeepin/treeland.git --recursive
$ cd treeland
$ cmake -Bbuild -DWITH_SUBMODULE_WAYLIB=ON
$ cmake --build build
2023-08-03 20:43:23 +08:00
```
2024-12-11 10:48:28 +08:00
## Packaging
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
A `debian` folder is provided to build the package under the *deepin* linux desktop distribution. To build the package, use the following command:
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
```shell
$ sudo apt build-dep . # install build dependencies
$ dpkg-buildpackage -uc -us -nc -b # build binary package(s)
2023-08-03 20:43:23 +08:00
```
2024-12-11 10:48:28 +08:00
## Getting Involved
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
- [Code contribution via GitHub ](https://github.com/linuxdeepin/treeland/ )
- [Submit bug or suggestions to GitHub Issues or GitHub Discussions ](https://github.com/linuxdeepin/developer-center/issues/new/choose )
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
## License
2023-08-03 20:43:23 +08:00
2024-12-11 10:48:28 +08:00
treeland is licensed under Apache-2.0 OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only.