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

树莓派5源码编译Qt无wayland-egl支持,如何解决并运行Qt程序?

解决树莓派5 Ubuntu 22.04编译Qt支持Wayland及Qt应用运行问题

一、让Qt编译时支持Wayland的步骤

1. 安装Wayland相关依赖包

Ubuntu 22.04默认使用Wayland,编译Qt需要完整的Wayland开发依赖,执行以下命令安装:

sudo apt install libwayland-dev libwayland-egl-backend-dev libegl1-mesa-dev libgles2-mesa-dev wayland-protocols libxkbcommon-dev libxcb-cursor-dev

这些包包含Wayland核心库、EGL绑定、协议定义及相关辅助库,是Qt检测Wayland-EGL支持的必要条件。

2. 修改Qt编译配置参数

在原配置参数基础上,添加Wayland支持的显式配置项,调整后的完整参数如下:

./configure -prefix /opt/Qt/Qt5.14.1 -opensource -confirm-license -nomake examples -dbus -no-separate-debug-info -release -wayland -qt-xcb
  • -wayland:强制启用Wayland平台插件的编译
  • -qt-xcb:确保同时保留XCB(X11)后端支持,避免单一依赖Wayland导致兼容性问题

3. 重新编译安装

先清理之前的编译残留:

make distclean

执行新的configure命令,确认输出中出现Wayland ............ yes和Wayland EGL ........ yes的检测结果后,再执行:

make -j$(nproc)
sudo make install

编译完成后,检查/opt/Qt/Qt5.14.1/plugins/platforms/目录下是否存在libqwayland-egl.so和libqwayland-generic.so,这两个是Wayland平台的核心插件。

二、其他让Qt应用在树莓派上运行的方法

如果Wayland配置仍有问题,可尝试以下替代方案:

  • 切换到Xorg后端运行:
    Ubuntu 22.04可在登录界面点击齿轮图标选择“Ubuntu on Xorg”,切换到X11环境。运行Qt应用时,可显式指定XCB平台插件:

    ./your_qt_app -platform xcb
    

    若编译时未启用XCB支持,需在configure参数中添加-qt-xcb重新编译。

  • 使用EGLFS后端(嵌入式无桌面环境场景):
    若无需桌面环境,可启用EGLFS后端适配嵌入式全屏应用。编译时添加-eglfs参数,运行时指定平台:

    ./your_qt_app -platform eglfs
    

    需确保树莓派GPU驱动正常,可通过设置环境变量QT_QPA_EGLFS_INTEGRATION=eglfs_kms指定KMS/DRM集成方式。

  • 使用预编译Qt包:
    放弃自行编译,直接安装Ubuntu官方源中的Qt包:

    sudo apt install qt5-default qtwayland5
    

    官方包已适配Ubuntu 22.04的Wayland环境,无需手动配置依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:33:22