1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 树莓派外接显示器黑屏_解决树莓派连接显示屏No Signal的问题

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

时间:2023-05-26 23:20:09

相关推荐

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

最近在树莓派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 /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的主界面:

完。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。