IAC-RK3568-Kit
IAC-RK3568-Kit开发板基于瑞芯微RK3568四核Cortex-A55处理器,支持HDMI、LVDS、MIPI、EDP四种显示接口,能够实现三屏同显,三屏异显,满足智能广告机、智能终端、游戏设备、多屏互动、多媒体设备等多样化的显示需求。
三屏显示内核
显示子系统是 Rockchip 平台显⽰输出相关软硬件系统的统称,它包括 VOP 和 RGB、BT1120、BT656、I8080(MCU 显示接口),LVDS、MIPI DSI、EDP、DP、HDMI 等显示信号输出模块以及与之对应的软件驱动。
整个显示系统的硬件框架如下图所⽰:
RK3568 拥有三个VOP的输出通道,所以支持三屏显示。
下图描述了VOP的硬件资源,展示了RK3568的显示通路连接关系。
接下来的内容将展示启扬RK3568开发板三屏异显的调试过程
硬件准备
IAC-RK3568-Kit开发板
LVDS显示屏
HDMI显示屏
EDP显示屏
本次准备的三个屏幕分别为LVDS、EDP和HDMI,通过上面的VOP硬件资源描述,给三个屏幕分别分配一个VOP通道。
其中EDP屏幕分配为 vp0 通道,
HDMI屏幕分配为 vp1 通道,
LVDS屏幕分配为 vp2 通道。
设备树部分配置如下所示:
&vop { status = "okay";};
&edp_phy { status = "okay";};
&edp_in_vp0 { status = "okay";};
&route_edp{ status = "okay"; connect = <&vp0_out_edp>;};
&hdmi { status = "okay";};
&hdmi_in_vp0 { status = "disabled";};
&hdmi_in_vp1 { status = "okay";};
&lvds { status = "okay";
ports { port@1 { reg = <1>;
lvds_out_panel: endpoint { remote-endpoint = <&panel_in_lvds>; }; };
};};
&lvds_in_vp2 { status = "okay";};
在这里我们给三个屏幕分配了VOP通道,这样就能够在三个屏幕上同时显示。
weston配置
Weston是Wayland开源显示协议的官⽅参考实现,Rockchip Buildroot SDK的显示服务默认使⽤Weston 10.0.0 drm后端。
Buildroot SDK的Weston⽀持多屏镜像同显、多屏异显、屏幕位置配置及热拔插等功能。
镜像模式缩放时,如果硬件VOP显示模块不⽀持缩放,则需要依赖RGA处理。
相关配置通过环境变量设置,如:
# /etc/profile.d/weston.shexport WESTON_DRM_PRIMARY=HDMI-A-1 # 指定主显为HDMI-A-1export WESTON_DRM_SINGLE_HEAD=1 # 强制单显export WESTON_DRM_MIRROR=1 # 使⽤镜像模式(多屏同显),不设置此环境变量即为异显export WESTON_DRM_KEEP_RATIO=1 # 镜像模式下缩放保持纵横⽐,不设置此变量即为强制全屏export WESTON_DRM_HEAD_MODE=primary # 只使能主显export WESTON_DRM_HEAD_MODE=internal # 只使能内置显⽰器export WESTON_DRM_HEAD_MODE=external # 只使能外置显⽰器export WESTON_DRM_HEAD_MODE=external-dual # 使能所有显⽰器,优先外置显⽰器export WESTON_DRM_HEAD_FALLBACK=1 # 未匹配到显⽰器时,使能任意⼀个有效显⽰器export WESTON_OUTPUT_FLOW=horizontal # 默认⽔平排列export WESTON_OUTPUT_FLOW=vertical # 默认垂直排列export WESTON_OUTPUT_FLOW=same-as # 所有显⽰器默认位置(0,0)
也⽀持在weston.ini的output段单独禁⽤指定屏幕:
# /etc/xdg/weston/weston.ini[output]name=LVDS-1mode=off# off|current|preferred|
多屏同显
在weston的默认配置中,即为多屏同显。此时的weston.sh的WESTON_DRM_MIRROR属性等于1。
多屏同显的效果如下图所示:
多屏异显
修改/etc/profile.d/weston.sh,注释 export WESTON_DRM_MIRROR=1 字段,如下图所示:
此时重启后就是多屏异显,屏幕以扩展的方式显示。
-
嵌入式
+关注
关注
5082文章
19093浏览量
304614 -
开发板
+关注
关注
25文章
5024浏览量
97352
发布评论请先 登录
相关推荐
评论