Weston 和shared display,汽车多显示器实现

Weston 是什么?共享显示是什么意思?

  • WestonWayland 协议的参考实现合成器(Compositor),主要负责:

    • 窗口管理:创建、移动、调整大小、销毁窗口
    • 合成与渲染:将多个应用程序的表面合成到最终屏幕
    • 输入事件分发:键盘、鼠标、触摸事件
    • 硬件交互:通过 DRM/KMS 与显卡交互,支持 OpenGL ES 或 Pixman 渲染。
  • 共享显示(Shared Display):指多个系统或应用共享同一个物理显示屏。在车载或嵌入式系统中,这种机制允许不同域(如 IVI、CDC)安全高效地在同一屏幕上显示内容,由 Weston 作为中央合成器完成图形缓冲区的合成。


Weston 在共享显示中的作用

  • 核心合成器:将多个客户端的表面合成到一个输出。
  • 多输出与分屏 :通过 weston.ini 支持多输出和逻辑分区。
  • 安全隔离:控制哪些客户端可以访问显示资源。
  • 灵活性:支持镜像、动态布局、远程显示(RDP/VNC)。

如何开启 Weston 屏幕共享功能

Weston 提供 屏幕共享功能,主要通过:

  1. 插件screen-share.so
  2. 后端rdp-backend.so(远程桌面协议)或 VNC 后端
配置步骤
  • 编辑 /etc/xdg/weston/weston.ini

    core

    modules=screen-share.so

    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 后端及认证。
  • 适用于远程调试或嵌入式设备(如树莓派)

常用命令

这是共享显示(Shared Display)在汽车座舱中的典型架构示意图:

  • **CDC(座舱域控制器)IVI(信息娱乐系统)**通过共享显示模块输出画面。
  • 下游可以是仪表盘( Instrument Cluster 中控屏( Center Display )以及 DP 外接显示( External Display

这种架构可以实现多域控制器共享同一显示资源,支持镜像、分屏等功能,降低硬件成本并提高灵活性。

这是 Weston 共享显示架构图,展示了各模块之间的关系:

  • CDC / IVI / Wayland Client:不同域或应用作为客户端。
  • Weston:Wayland 合成器,负责合成和布局。
  • DRM:直接渲染管理器,连接硬件。
  • Hardware:物理显示设备。
  • Shared Display:最终共享显示输出。
相关推荐
Ankie Wan12 天前
weston的历史和X11显示服务器的区别
x11·weston·x11显示服务器
sensor_WU7 个月前
【Delphi】实现在多显示器时指定程序运行在某个显示器上
计算机外设·多显示器
sensor_WU1 年前
【delphi】判断多显示器下,程序在那个显示器中
计算机外设·多显示器·程序在那个显示器上
Code_流苏2 年前
Twinkle Tray:屏幕亮度控制更智能
屏幕亮度调节·多显示器·twinkle tray·调节软件
Flame_Cyclone2 年前
Win32 显示器信息获取, 显示模式设置
c++·windows·win32·多显示器·显示器信息
sensor_WU2 年前
MAC 中多显示器的设置(Parallels Desktop)
macos·多显示器·macbook 外接显示器·4k显示器
zollty2 年前
ubuntu外接显示器、不识别笔记本显示器
ubuntu·多显示器·ubuntu多显示器·ubuntu显卡