display server sample
功能概述
本文的demo为基于Wayland协议的Weston服务,使用DRM后端和Open GLES渲染后端进行图像合成和显示,此处主要介绍sample的使用方法。
软件架构说明
本文中Weston服务为开源的Weston 11.0.93版本,基于Wayland协议实现,通过libdrm实现显示控制,支持gl-render和pixman两种渲染后端。

硬件数据流说明
本文数据流通路如下:
weston通过gl-render后端输出到IDU primary图层,IDU通过MIPI CSI TX将数据进行输出。

编译
本文为开源第三方组件,直接安装deb包即可。
运行
运行指南
服务进程环境准备,环境变量设置,安装sample deb包:
mount -o rw,remount /usr/hobot
source /app/sample/S83_Sample/S83E04_Module/display_sample/script/server_env.sh
seatd &
开发板连接公网后,通过apt工具安装weston依赖的第三方库:
apt install -y libinput10 libpixman-1-0 libcairo2
服务进程启动,以下三条命令分别是通过不同配置文件实现tx0、tx1、tx0和tx1输出的命令:
weston -c /app/sample/S83_Sample/S83E04_Module/display_sample/cfg/weston_hdmi0.ini --continue-without-input
weston -c /app/sample/S83_Sample/S83E04_Module/display_sample/cfg/weston_hdmi1.ini --continue-without-input
weston -c /app/sample/S83_Sample/S83E04_Module/display_sample/cfg/weston_hdmi01.ini --continue-without-input
通过tx0输出到HDMI显示的效果如下:

客户端进程环境准备,环境变量设置,指定socket端口:
source /app/sample/S83_Sample/S83E04_Module/display_sample/script/client_env.sh 1
客户端进程启动:
weston-simple-dmabuf-egl &
weston-simple-dmabuf-egl是weston官方提供的demo,通过GBM申请Buffer,通过OpenGLES和EGL进行客户端图像渲染。显示效果如下:

weston-simple-egl &
weston-simple-egl是weston官方提供的demo,通过wayland egl进行渲染显示。显示效果如下:

