[RK3399][Android7.1] 调试笔记 ---双屏异显副屏显示画面有拉伸

在RK3399平台上运行Android 7.1系统,当主屏采用4:3的edp,副屏使用16:9的HDMI时,副屏显示出现画面拉伸。问题源于板子未能正确读取HDMI的EDID,导致分辨率设置错误。通过理解EDID读取流程,可以手动修改drm_add_modes_noedid()函数参数来匹配HDMI分辨率,从而避免画面拉伸。

Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83

现象:
主屏使用 4:3 edp, 副屏使用 16:9 HDMI.
双屏异显时,副屏显示画面会被拉伸.

在这里插入图片描述

原因:
HDMI可以使用和适应不同的分辨率.
edp的分辨率是2048*1536,符合4:3比例,而HDMI显示的分辨率是1024*768,不是16:9而是4:3的比例.

得到1024*768的原因在于板子没有读取到HDMI的EDID也就是HDMI的分辨率而默认设置成了1024*768,这样显示的分辨率和物理屏幕比例不一致,而画面默认就会被拉伸了.

而EDID读取失败的最终原因是硬件上某个上拉电阻的组织太大导致通讯失败.


读取edid流程:

    drm_helper_probe_single_connector_modes_merge_bits->  drm_probe_helper.c
      drm_load_edid_firmware //从硬件去读取edid
      drm_add_modes_noedid(connector, 1024, 768); -> //如果读取不到就使
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值