Wayland参考实现-Weston
2022-09-24 17:37:35 阿炯

Weston 是 Wayland 合成器的参考实现,同时也是一个开箱即用的多用途桌面环境。为汽车、嵌入式、机械、工业、机顶盒和电视等非桌面用途提供了一个非常基础的全功能桌面环境。还提供了一个可复用的  libweston 库,允许其他项目基于 Weston 核心构建自己的全功能环境。采用C语言实现并在类BSD协议下授权。


Weston is the reference implementation of a Wayland compositor, as well as a useful environment in and of itself.


Weston 的核心功能是正确和可靠,目标是精益和快速,但更重要的是可预测。Weston 存在一些已知的错误和缺点,但同时也在尽可能避免未知或可变行为,包括可变性能,例如帧显示时间的偶尔峰值。如果要追求更主流的桌面体验,还是更推荐 GNOME 和 KDE 项目,它们也提供基于 Wayland 协议构建的全功能桌面环境,且用户体验更好。


最新版本:11.0
Weston 11.0 于2022年9月下旬正式发布,此版本在色彩管理的基础设施方面有改进,比如提供了实验性的色彩管理支持,它可以与监视器 ICC 配置文件一起使用。还可以将监视器设置为 HDR 模式,并从 Weston 配置文件中提供 HDR 特性。但公告中还提及:现在 Weston 还不能生成任何 HDR 内容。

其次还有这些亮点优化:
各种 RDP 改进。
DRM 后端的性能改进。
支持 wp_single_pixel_buffer_v1 协议。
weston_buffer 重构。
同时运行多个后端(例如 KMS + RDP)和 DRM 后端中的多 GPU 支持的基础(目前此功能尚未支持,可能会在将来的版本中提供)。

重大更改:
cms-static 和 cms-colord 插件现已弃用。
从桌面 shell 中删除了许多功能:多工作区、缩放、曝光。
wl_shell 支持已被删除(被 xdg-shell 取代)。
fbdev 后端已被移除(被 KMS 取代)。
weston-launch 和 launcher-direct 已被移除(被 libseat 取代)。
weston-info 和 weston-gears 客户端已被删除(weston-info 由 wayland-info 取代)。
现在默认设置 KMS max-bpc 属性,如果你遇到黑色带有(故障)显示器的屏幕,请尝试在 weston.ini 中降低它。
Weston 现在将在内存不足时中止,这意味着 Weston 不适合适用于内存受限的环境。
更多更新公告参考此处

最新版本:12.0
第12.0版本于2023年5月中旬发布了,是一个重要的新功能版本,提供了如 DRM 后端中的多 GPU 支持、对 HDMI 内容类型的支持、对 Wayland 撕裂控制协议(tearing-control protocol)的支持、平面 alpha DRM 属性处理、PipeWire 后端等等新内容。一些亮点包括:
支持撕裂控制协议(tearing-control protocol),允许客户端请求异步翻转。
已合并 PipeWire 后端。
多 GPU 支持运行具有多个 DRM 设备的单个 Weston 实例。会在启动 Weston 时添加一个新的 “--additional-devices” 选项。
对 Weston 的基本绘图板支持。
各种调试和分析改进。
各种 XWayland 兼容性修复,包括在失败时不泄漏文件描述符。
许多随机 DRM 后端更新,包括对 plane alpha DRM 属性的支持。
对 RDP 后端的初始多头支持。
Weston 的 Wayland 后端现在允许调整对 XDG-Shell 的支持,允许在另一个 Wayland 合成器上调整 Weston 窗口的大小。
xwayland_shell_v1 协议支持。
更多详情可查看更新公告


项目主页:https://github.com/wayland-project/weston