✅ Weston 是什么?共享显示是什么意思?
-
Weston 是 Wayland 协议的参考实现合成器(Compositor),主要负责:
- 窗口管理:创建、移动、调整大小、销毁窗口
- 合成与渲染:将多个应用程序的表面合成到最终屏幕
- 输入事件分发:键盘、鼠标、触摸事件
- 硬件交互:通过 DRM/KMS 与显卡交互,支持 OpenGL ES 或 Pixman 渲染。
-
共享显示(Shared Display):指多个系统或应用共享同一个物理显示屏。在车载或嵌入式系统中,这种机制允许不同域(如 IVI、CDC)安全高效地在同一屏幕上显示内容,由 Weston 作为中央合成器完成图形缓冲区的合成。
✅ Weston 在共享显示中的作用
- 核心合成器:将多个客户端的表面合成到一个输出。
- 多输出与分屏 :通过
weston.ini支持多输出和逻辑分区。 - 安全隔离:控制哪些客户端可以访问显示资源。
- 灵活性:支持镜像、动态布局、远程显示(RDP/VNC)。
✅ 如何开启 Weston 屏幕共享功能
Weston 提供 屏幕共享功能,主要通过:
- 插件 :
screen-share.so - 后端 :
rdp-backend.so(远程桌面协议)或 VNC 后端
配置步骤
-
编辑
/etc/xdg/weston/weston.ini:core
screen-share
command=/usr/bin/weston --backend=rdp-backend.so \
--rdp-tls-cert=/path/to/server.crt \
--rdp-tls-key=/path/to/server.key \
--shell=fullscreen-shell.so \
--no-clients-resize \
--socket=wayland-1 \
--width=800 --height=480
-
生成 TLS 证书和密钥。
-
重启 Weston 服务: systemctl restart weston
-
在主机上连接: xfreerdp /v:<设备IP> /size:800x480
-
快捷键:Ctrl+Alt+S 可启动屏幕共享(调用 RDP 后端)。
✅ VNC 后端(替代方案)
- Weston 12+ 支持 VNC 后端。
- 在
weston.ini中配置 VNC 后端及认证。 - 适用于远程调试或嵌入式设备(如树莓派)
✅ 常用命令
-
启动 DRM 后端: weston --backend=drm-backend.so
-
启动 RDP 屏幕共享: weston --backend=rdp-backend.so --modules=screen-share.so
-
调试: weston-debug --all

这是共享显示(Shared Display)在汽车座舱中的典型架构示意图:
- **CDC(座舱域控制器)和IVI(信息娱乐系统)**通过共享显示模块输出画面。
- 下游可以是仪表盘( Instrument Cluster ) 、中控屏( Center Display )以及 DP 外接显示( External Display )。
这种架构可以实现多域控制器共享同一显示资源,支持镜像、分屏等功能,降低硬件成本并提高灵活性。

这是 Weston 共享显示架构图,展示了各模块之间的关系:
- CDC / IVI / Wayland Client:不同域或应用作为客户端。
- Weston:Wayland 合成器,负责合成和布局。
- DRM:直接渲染管理器,连接硬件。
- Hardware:物理显示设备。
- Shared Display:最终共享显示输出。