专栏算法工具链J6E display server实现和使用

J6E display server实现和使用

费小财2024-09-26
97
0

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进行渲染显示。显示效果如下:

 

  

算法工具链
征程6技术深度解析社区征文官方教程
评论0
0/1000