在Yocto编译的core-image-minimal镜像上运行X11报错‘未找到屏幕’求助
解决Raspberry Pi 3B Yocto minimal镜像Xorg "no screens found"问题
问题根源
core-image-minimal是极简镜像,默认未包含Raspberry Pi的GPU驱动、触摸屏输入驱动及Xorg硬件适配组件,而core-image-sato镜像默认集成了这些依赖,因此切换后出现屏幕识别失败。
具体修复步骤
1. 补充必要的硬件驱动与Xorg组件
修改local.conf,添加以下内容:
# 启用硬件相关特性 DISTRO_FEATURES_append = " input opengl" # 安装RPi GPU固件与驱动 IMAGE_INSTALL_append = " raspberrypi-firmware raspberrypi-userland" # 安装Xorg屏幕驱动与输入驱动 IMAGE_INSTALL_append = " xf86-video-fbdev xf86-input-evdev" # 补充Xorg基础工具与配置依赖 IMAGE_INSTALL_append = " xserver-xorg-utils xorg-xinit"
2. 优化IMAGE_INSTALL配置(合并重复项)
将bblayers.conf中分散的IMAGE_INSTALL_append合并,避免重复配置:
IMAGE_INSTALL_append = " python3 python3-pyqt5 xorg-minimal-fonts packagegroup-fonts-truetype-core"
3. 编译后验证硬件状态
烧录新镜像启动后,先确认硬件是否正常加载:
- 检查帧缓冲设备:
ls /dev/fb0,存在则说明GPU驱动加载正常 - 检查触摸屏输入设备:
ls /dev/input/event*,触摸屏通常对应event0或event1 - 查看驱动日志:
dmesg | grep -E "fb|touchscreen",确认无驱动加载报错
4. 启动Xorg或PyQt5应用
完成上述配置后,重新编译镜像并烧录。启动后可通过以下命令启动Xorg:
startx
若直接运行PyQt5应用,需确保DISPLAY环境变量正确,可先执行:
export DISPLAY=:0
内容的提问来源于stack exchange,提问作者ogusis01
相关产品推荐
相关产品推荐

