1、问题描述

dayu200运行4.0 Beta2版本,按照OpenHarmony标准系统HDMI全屏显示 的方法,修改patch里的dt,把dsi0关闭,接hdmi后,系统桌面会在屏幕的左侧显示,没有自动全屏。

按照OpenHarmony图形HDI基础适配及点屏 文档描述的方法,使用modetest测试hdmi全屏输出是正常的。

要实现hdmi全屏显示应该怎么修改内核或者OH?最好能支持读取EDID自动适配HDMI设备。

目前的显示效果见附件视频。

对patch做的修改如下,也当附件上传了:

diff --git a/linux-5.10/rk3568_patch/kernel.patch b/linux-5.10/rk3568_patch/kernel.patch
index 6fed67b..2a8450a 100644
--- a/linux-5.10/rk3568_patch/kernel.patch
+++ b/linux-5.10/rk3568_patch/kernel.patch
@@ -95259,7 +95259,7 @@ new file mode 100755
 index 000000000..25889a206
 --- /dev/null
 +++ b/arch/arm64/boot/dts/rockchip/rk3568-toybrick-mipi-tx0-beiqicloud.dtsi
-@@ -0,0 +1,395 @@
+@@ -0,0 +1,407 @@
 +/*
 + * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
 + *
@@ -95311,7 +95311,7 @@ index 000000000..25889a206
 + * when dsi0 is enabled
 + */
 +&dsi0 {
-+      status = "okay";
++      status = "disabled";
 +
 +       dsi0_panel: panel@0 {
 +              compatible = "simple-panel-dsi";
@@ -95645,7 +95645,7 @@ index 000000000..25889a206
 +};
 +
 +&route_dsi0 {
-+      status = "okay";
++      status = "disabled";
 +
 +&pinctrl {
@@ -95655,6 +95655,18 @@ index 000000000..25889a206
 +              };
 +      };
 +};
++
++&hdmi {
++      status = "okay";
++};
++
++&route_hdmi {
++      status = "okay";
++};
++
++&hdmi_in_vp1 {
++      status = "okay";
++};
 diff --git a/arch/arm64/boot/dts/rockchip/rk3568-toybrick-mipi-tx0.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-toybrick-mipi-tx0.dtsi
 new file mode 100755
 index 000000000..bd32a4246

2、解决办法

上面提到的修改HDMI全屏显示的方法是正确的,在4.0-Beta2上验证通过。目前显示模式自适应还不行,虽然进系统后从显示设置可以看到显示器支持的显示模式,但是修改后会导致桌面显示不全。

1、系统启动后,通过/proc/device-tree检查确认对设备树的修改确实生效了。

相关文件下载
OH4.0-Release-HDMI.zip
6.83 MB
下载
modify.zip
634 B
下载
Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐