一.主屏副屏配置
目前在RK3568平台上有两路HDMIOUT输出,分别输出到两个屏幕上,一路配置为主屏,一路配置为副屏。
硬件原理图:
&hdmi0_in_vp2 {
status = "okay";
};
&hdmi1_in_vp0 {
status = "okay";
};
要配置主屏副屏首先应该确认两路HDMIOUT单独输出都能进行显示,hdmi0从vp2输出,hdmi1从vp0输出。
二.RK文档关于主副屏相关属性值
主副屏相关属性介绍:
persist.sys.framebuffer.main //主屏 UI 画布尺寸
persist.sys.framebuffer.aux //副屏 UI 画布尺寸
persist.sys.resolution.main //主屏分辨率
persist.sys.resolution.aux //副屏分辨率
sys.hwc.device.primary //主屏设备类型
sys.hwc.device.extend //副屏设备类型
sys.hwc.device.main //主屏当前设置设备
sys.hwc.device.aux //副屏当前设置设备
sys.display.timeline //修改生效标志
涉及属性:
sys.hwc.device.primary //主屏设备类型,用户设置
sys.hwc.device.extend //副屏设备类型,用户设置
sys.hwc.device.main //主屏当前设置设备,系统设置
sys.hwc.device.aux //副屏当前设置设备,系统设置
其中,用户设置属性类型设置格式为:
//在 system/build.prop 加入格式字段,主副屏设备可根据产品自行设置,即可配置主
//副屏,对于 HDMI-A-1,HDMI-A-2 问题,目前 HWC 最新代码支持对应判断,如果不支持
//请升级 hwc 代码
// sys.hwc.device.xxx=xx,xx
sys.hwc.device.primary=eDP,LVDS,VGA
sys.hwc.device.extend=HDMI-A-1,HDMI-A-2
当前系统作为主副屏显示设备可查询的属性如下:
sys.hwc.device.main //主屏当前设置设备,系统设置
sys.hwc.device.aux //副屏当前设置设备,系统设置
//可通过如下命令查询
getprop sys.hwc.device.main //查询主屏当前设置显示设备
getprop sys.hwc.device.aux //查询副屏当前设置显示设备
三.主屏副屏调试
console:/ # getprop | grep hwc
[debug.sf.enable_hwc_vds]: [true]
[init.svc.vendor.hwcomposer-2-1]: [running]
[init.svc_debug_pid.vendor.hwcomposer-2-1]: [391]
[ro.boottime.vendor.hwcomposer-2-1]: [4365204418]
[vendor.ghwc.version]: [HWC2-1.5.102]
[vendor.hwc.device.extend]: [HDMI-A-1] //extend //副屏设备类型
[vendor.hwc.device.primary]: [HDMI-A-2] //primary //主屏设备类型
[vendor.hwc.enable_sideband_stream_2_mode]: [1]
[vendor.hwc.hdr_state]: [NORMAL]
cat /sys/class/drm/card0-HDMI-A-1/enabled
enabled
插入hdmiout到显示器HDMI-A-1显示连接,getprop 出属性值显示HDMI-A-1作为副屏设备类型。
主副屏修改:
rk3568_an13\device\rockchip\rk3568\device.mk文件下添加以下文件属性.
PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.device.primary=HDMI-A-2
PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.device.extend=HDMI-A-1