一.主屏副屏配置
目前在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