You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派4B运行Weston提示‘no drm device found’问题求助

解决树莓派4B上Yocto core-image-full-cmdline启动Weston失败的问题

1. 检查内核模块与DRM设备

Weston报错no drm device found,核心原因是DRM相关内核模块未加载或设备节点未生成:

  • 查看已加载的内核模块:
    lsmod | grep -E 'vc4|v3d|drm'
    
  • 若模块未加载,手动加载测试:
    modprobe vc4
    modprobe v3d
    modprobe drm_kms_helper
    modprobe drm
    
  • 检查DRM设备节点是否存在:
    ls -l /dev/dri/
    
    正常应显示card0、renderD128等设备。若不存在,需通过bitbake -c menuconfig linux-raspberrypi修改内核配置,确保启用:
    • CONFIG_DRM_VC4=y或=m
    • CONFIG_DRM_V3D=y或=m
    • CONFIG_DRM_KMS_HELPER=y

2. 补充缺失的依赖包

core-image-full-cmdline是轻量命令行镜像,缺少core-image-weston默认包含的Wayland/DRM相关依赖,在/conf/local.conf中添加:

# 补充DRM、GBM、Mesa图形库
IMAGE_INSTALL:append = " libdrm libgbm mesa-megadriver"
# 补充Weston依赖的会话管理组件
IMAGE_INSTALL:append = " seatd"
# 确保udev自动生成设备节点
IMAGE_INSTALL:append = " udev"

重新构建镜像并烧写到SD卡。

3. 调整Weston启动配置

  • 编辑/etc/xdg/weston/weston.ini,在[core]段手动指定DRM设备:
    [core]
    backend=drm-backend.so
    drm-device=/dev/dri/card0
    require-input=false
    
  • 或启动Weston时直接指定设备:
    weston --drm-device=/dev/dri/card0
    

4. 配置Weston与Qt应用自动启动

配置Weston自启动(systemd服务)

创建/etc/systemd/system/weston.service:

[Unit]
Description=Weston Wayland Compositor
After=systemd-user-sessions.target

[Service]
Type=simple
ExecStart=/usr/bin/weston
User=root
Environment=XDG_RUNTIME_DIR=/run/user/0
Environment=WAYLAND_DISPLAY=wayland-0

[Install]
WantedBy=multi-user.target

启用并启动服务:

systemctl enable weston.service
systemctl start weston.service

配置Qt应用自动启动

方式1:通过Weston配置启动

编辑/etc/xdg/weston/weston.ini,添加启动项:

[launcher]
path=/path/to/your/qt-application

方式2:通过systemd服务启动(依赖Weston)

创建/etc/systemd/system/qt-app.service:

[Unit]
Description=Qt Wayland Application
After=weston.service
Requires=weston.service

[Service]
Type=simple
Environment=WAYLAND_DISPLAY=wayland-0
Environment=QT_QPA_PLATFORM=wayland
ExecStart=/path/to/your/qt-application
User=root

[Install]
WantedBy=multi-user.target

启用服务:

systemctl enable qt-app.service

验证重启

重启树莓派后,检查Weston与Qt应用是否自动启动。若仍有问题,查看Weston日志排查:

journalctl -u weston.service

内容的提问来源于stack exchange,提问作者Ironside

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 04:35:58