树莓派外接显示器黑屏_解决树莓派连接显示屏No Signal的问题

本文介绍了解决树莓派4B运行Retropie时遇到的显示问题。作者通过一系列排查,最终确定是由于系统配置导致的HDMI信号丢失,并通过修改配置文件和使用uhubctl脚本来实现USB端口的自动重置,成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在树莓派4b上装了retropie,并且专门在网上购买了一块7寸的电子屏,想把它打造成一个便携式的街机。不料开机后发现,此电子屏一直显示No signal,于是开始调试这个问题。

1、首先怀疑电子屏是否损坏。通过电视和switch,发现电子屏并没有损坏。

2、是否供电不足。查阅文档,发现它可以在树莓派系列中跑起来。它使用树莓派USB供电足矣。

3、是否系统导致。在排查过程中,发现最开始是可以直接进入shell的,接下来shell会直接进入retropie。显示屏可以显示出shell的内容,甚至如果是shell直接进桌面而不进retropie,显示屏也是可以显示的。这说明在初次进入retropie的时候发生了一些故障,导致显示屏无法接收信号。

查阅文档发现,树莓派引导时是禁用掉了强制热拔插功能的,这可能会导致HDMI失效,于是通过SSH调用下列命令修改引导设置:

sudo nano /boot/config.txt

找到下面一行:

# uncomment if hdmi display is not detected and composite is being output

# hdmi_force_hotplug=1

可以看到,hdmi_force_hotplugin最开始是禁用掉的,把#去掉,重启启用这个特性:

# uncomment if hdmi display is not detected and composite is being output

hdmi_force_hotplug=1

重启之后发现,显示屏有时候可以显示retropie,有时候则仍然是no signal。后来发现,在进入retropie之后,要手动拔插USB接口,强行重置显示屏才能正常显示。作为一个程序员,手动拔插是不可忍受的,我需要一个脚本,在开机的时候重置USB接口。

调查后发现,github上有一个很好的管理usbhub的程序,叫做uhubctl。

首先clone这个库:

git clone https://github.com/mvp/uhubctl.git

接下来编译它:

make

生成的uhubctl,拷贝到/usr/bin中,好通过bash调用它。

接下来,修改retropie自启动脚本:

sudo nano /opt/retropie/configs/all/autostart.sh

改为下面内容:

echo Reseting USB devices...

sudo uhubctl -a 0 -l 2

sudo uhubctl -a 1 -l 2

emulationstation #auto

第二行表示关闭树莓派后侧usb所有接口,第三行表示重新开启那些接口。

接着开机,经过短暂的no signal,总算显示屏上浮现出了retropie的主界面:

完。

### 树莓派连接显示器无信号解决方案 对于树莓派4B连接外部显示器时遇到的无信号问题,可以通过调整配置文件`config.txt`来解决。具体方法如下: 当树莓派无法正确识别显示器并发送适当视频信号时,可以尝试通过编辑位于启动分区中的`config.txt`文件来进行修正[^1]。 #### 修改 `config.txt` 为了确保HDMI接口始终激活并向外传输信号,即使未检测到接收端设备也如此操作,可以在`config.txt`中设置参数`hdmi_force_hotplug=1`。这会告诉树莓派忽略EDID数据(即显示器的能力描述),而按照预设模式输出图像[^2]。 另外,如果发现分辨率不合适或者根本没有任何画面,则可能是因为默认设定不符合所使用的监视器特性。此时应该手动指明期望的工作模式,比如采用标准VGA定义下的800x600像素@60Hz刷新率作为示例,对应的配置应为: ```ini hdmi_group=2 hdmi_mode=9 ``` 上述两行代码分别表示选择了CEA (Consumer Electronics Association) 或者 DMT (Display Monitor Timings) 类型的标准之一以及具体的模式编号[^4]。 有时还需要增加一些额外选项以提高兼容性和稳定性,例如加强HDMI驱动强度(`config_hdmi_boost`)或是处理特定情况下的扫描方式(`disable_overscan`)等。完整的建议添加项如下所示: ```ini hdmi_force_hotplug=1 config_hdmi_boost=4 hdmi_group=2 hdmi_mode=9 hdmi_drive=2 hdmi_ignore_edid=0xa5000080 disable_overscan=1 ``` 这些更改旨在让树莓派能够更稳定地向不同类型的显示器提供合适的视频流,并减少因硬件差异带来的不确定性影响。 完成以上修改之后保存文件并将存储介质重新插入树莓派开机测试效果即可。通常情况下这样的设置足以解决问题;但如果仍然存在困难,则考虑进一步查阅官方文档获取更多帮助或更换其他品牌型号的HDMI线缆试试看。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值