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

3
我有一个使用QT和OpenGL构建的unix二进制文件,我正在尝试在Linux-64上执行它。这是一个简单的可视化程序,可以显示2D和3D图形。
我已经安装了所有必要的依赖项,如QT和OpenGL库。然而,在尝试执行该二进制文件时,我遇到了以下错误:
QXcbIntegration:无法创建平台OpenGL上下文,GLX和EGL都未启用。
然而,该二进制文件最终会运行,但缺少一些功能,如3D图形。
我的设置包括:使用VirtualBox,Vagrant,x-11转发和Mac机器的虚拟Linux-64。

尝试运行 glxinfo。如果它告诉你需要启用3D加速,你可能需要关闭VirtualBox以更改设置。 - user3835277
glxinfo 显示一份日志。我相信3D加速已启用。(但是,直接渲染设置为NO,不确定是否相关)。 - salamon
然而,二进制最终运行,所以那不是错误,只是一个警告。由于您没有直接渲染,因此无法使用任何OpenGL渲染(2D或3D)。 - peppe
我猜测间接渲染正在被强制执行,OpenGL仍然可以工作(可能会更慢)。然而,我尝试通过重新安装驱动程序来强制执行直接渲染,但仍然没有成功。 - salamon
4个回答

1

最终我意识到OpenGL 3.3在虚拟机上不容易工作。我不得不从Ubuntu USB启动并安装最新的mesa 3d软件包来进行工作。


0

当我在 Ubuntu 16.04 的破折号提示符中执行 Qt 应用程序时,遇到了这个问题。 (Ubuntu 16.04 默认使用破折号)。 我改为使用 bash 提示符并重新构建了我的 QT 应用程序。 这个错误已经消失了。 要配置 bash,我使用了以下命令。

sudo dpkg-reconfigure dash

0

在尝试在一个特定的锁定的Linux机器上运行一些OpenGL程序一段时间后,我最终回到了Qt Creator 2.5.2。

http://download.qt.io/archive/qtcreator/2.5/

http://download.qt.io/archive/qtcreator/2.5/qt-creator-linux-x86_64-opensource-2.5.2.bin

在将其放入 Linux 系统后...

chmod u+x *.bin
./qt-creator-linux-x86_64-opensource-2.5.2.bin

经过简短的安装程序,Qt Creator已经可以运行!

基本上,在2.5之后构建的任何Qt Creator都需要QtQuick,并且QtQuick需要OpenGL库和支持。

希望这有所帮助。


0

这篇文章展示了类似的问题,评论中的开发者说我们在Linux客户端上的3D支持不太完善,因此会出现警告。你可以尝试使用VMware。


谢谢你的提示。最终我意识到OpenGL 3.3不能在虚拟机上运行..但是。我不得不从Ubuntu USB启动并在那里工作。 - salamon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接