【问题标题】:Yocto/Qt5.6: QXcbIntegration: Cannot create platform OpenGL contextYocto/Qt5.6:QXcbIntegration:无法创建平台 OpenGL 上下文
【发布时间】:2017-03-07 14:57:10
【问题描述】:

我正在开发在 Yocto 2.1 上运行并支持 Qt 5.6.2 的 Nitrogen6x 板。我能够在 Qt Creator 的示例部分下构建一个示例 qt 应用程序Qt Quick Examples - Shader Effects。复制到我的氮气板上的可执行文件。在我启动示例 qt 应用程序的终端上设置了所需的 QT 环境变量,我注意到此错误:

./shadereffects

QXcbIntegration:无法创建平台 OpenGL 上下文,GLX 和 EGL 均未启用。

未能为格式 QSurfaceFormat(版本 2.0,选项 QFlags(),depthBufferSize 24,redBufferSize -1,greenBufferSize -1,blueBufferSize -1,alphaBufferSize -1,stencilBufferSize 8,样本 -1,swapBehavior 创建 OpenGL 上下文2、swapInterval 1、profile 0)

中止。

我尝试运行来自 Qt Creator 示例部分的示例应用程序Analog Clock Example,该程序仅使用 QT Widgets 并且能够在 Nitrogen6x 板上成功运行该应用程序。

在我的packagegroup-qt5-toolchain-target.bb 文件中,我删除了以下几行(由于一些与 GIT 拉取相关的错误)。

${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${USE_WAYLAND}', '', d)} \
${USE_RUBY} \

此更改是否与 OpenGL 面临的问题有任何相似之处。如果我尝试在 Yocto 终端上执行 sudo apt-get install libgl1-mesa-dev 或等效操作,它会显示 apt-get: command not found。我需要如何解决这个与 OpenGL 相关的错误。对此的任何帮助深表感谢。提前致谢。

【问题讨论】:

    标签: qt opengl opengl-es yocto


    【解决方案1】:

    我假设您的图像是 x11 并且已删除 Wayland。

    在你的/conf/local.conf,尝试添加

    DISTRO_FEATURES_append = " opengl "

    这会将 opengl 添加到您的发行版中;请参阅Qt Recipe 中的第 41 行

    【讨论】:

    • 我只需要支持eglfs 插件。当我使用-platform eflgs 运行我的应用程序时,我看到了这个错误Available platform plugins are: minimal, offscreen, xcb。我正在阅读您回答的其他一些post。我打算在那里尝试你的建议,看看我是否可以成功安装 EGLFS 插件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    相关资源
    最近更新 更多