树莓派4如何同时配置HDMI0与HDMI1实现双屏正常显示
树莓派双HDMI输出异常修复方案
核心原因说明
树莓派4及以上型号的双HDMI输出默认优先适配HDMI0端口的EDID参数,当两块屏幕的分辨率、刷新率差异较大时,HDMI1端口的适配会出现失效,尤其是第三方触控屏的EDID信息通常不如标准消费级显示器完善,更容易出现识别异常。
可操作修复步骤
步骤1:端口参数分设配置
删掉你之前在
/boot/config.txt中添加的全局HDMI参数,替换为端口单独配置,避免全局参数只对HDMI0生效:# 两个端口分别开强制热插拔 hdmi_force_hotplug:0=1 hdmi_force_hotplug:1=1 # 两个端口均设为HDMI输出模式(而非DVI模式) hdmi_drive:0=2 hdmi_drive:1=2 # 按实际屏幕参数指定分辨率刷新率,以下为1080P电视接HDMI0、1024*600 7寸触控屏接HDMI1的示例配置 hdmi_group:0=1 hdmi_mode:0=16 hdmi_group:1=2 hdmi_mode:1=87 hdmi_cvt:1=1024 600 60 3 0 0 0如果你用的7寸触控屏分辨率为800*480,将最后一行替换为
hdmi_cvt:1=800 480 60 3 0 0 0即可。步骤2:手动提取双屏EDID(步骤1无效时使用)
只单独提取HDMI1的EDID无法解决适配问题,需要分别提取两块屏幕的EDID文件:
- 单独将电视接HDMI0,执行命令
sudo tvservice -d /boot/edid0.dat提取电视的EDID文件 - 单独将触控屏接HDMI0,执行命令
sudo tvservice -d /boot/edid1.dat提取触控屏的EDID文件 - 在
/boot/config.txt中添加以下配置,强制两个端口读取对应EDID:
hdmi_edid_file:0=1 hdmi_edid_filename:0=edid0.dat hdmi_edid_file:1=1 hdmi_edid_filename:1=edid1.dat- 单独将电视接HDMI0,执行命令
步骤3:高版本系统适配
如果你使用的是树莓派OS Bullseye及以上版本,默认启用的KMS驱动会使旧的
hdmi_前缀配置失效,此时不需要修改/boot/config.txt的HDMI参数,直接在/boot/cmdline.txt的末尾添加对应端口的分辨率配置即可,示例:video=HDMI-A-1:1024x600M@60D步骤4:供电排查
树莓派4双屏输出需要至少3A的官方原装电源,若使用非官方电源功率不足,会导致HDMI1端口供电不够出现黑屏,尤其是本身需要从HDMI取电的触控屏会进一步拉高功率需求。
内容的提问来源于stack exchange,提问作者damooo
相关产品推荐
相关产品推荐

