【发布时间】:2017-05-17 09:35:45
【问题描述】:
我用
Qt Creator 4.4.0-beta1 (4.3.82)
基于 Qt 5.7.1(GCC 5.3.0,64 位)
我基于提供qt creator:Qt Quick Controls 2 的模板创建了项目。并且不要对其进行任何修改。
如果我在qt creator 中按下run 按钮,我会收到这样的消息(在qt creator 内的控制台内):
正在启动.../build-test1-qt5-Debug/test1...
QML 调试已启用。只能在安全的环境中使用。
libGL 错误:找不到匹配的 fbConfigs 或视觉对象
libGL 错误:未能加载驱动程序:swrast
无法识别的 OpenGL 版本
无法识别的 OpenGL 版本
一开始我想linux kernel/nvidia driver/xorg和Qt合作的问题,但是我可以运行./build-test1-qt5-Debug/test1没有任何问题
来自xterm:
./build-test1-qt5-Debug/test1
QML 调试已启用。只能在安全的环境中使用。
qml:按钮按下。输入文字:
那么任何提示从qt creator 运行qml 或直接不使用qt creator 有什么区别?
程序的输出,我在qt creator 和LIBGL_DEBUG=verbose 中运行:
QML debugging is enabled. Only use this in a safe environment.
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib64/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/swrast_dri.so
libGL: Can't open configuration file /home/evgeniy/.drirc: No such file or directory.
libGL: Can't open configuration file /home/evgeniy/.drirc: No such file or directory.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
function is no-op
Unrecognized OpenGL version
Unrecognized OpenGL version
【问题讨论】:
-
您确定在这两种情况下都使用相同的 Qt 库吗?如果你在 Linux 上,一个想法是在一种情况下你在 X11 上运行,在另一种情况下在 Wayland 上运行。
-
@BenjaminT 是的,我只有一个 Qt 5.7,我可以连接
gdb以测试在“内部”qt creator 运行的应用程序,gdb显示与我运行时相同的二进制库xterm 中的应用程序。而且我的系统上没有 Wayland,只有 xorg。 -
你有Nvidia卡吗?在 Nvidia 机器上的 Ubuntu 上,Snaps 生成了 similar error messages。按照链接,我到了this bug report。在 Nvidia 机器上尝试启动 Flatpack 应用程序时,我听说过同样的错误消息。
-
也许this bug report 更相关。
-
@Alexey 是的,我使用的是 nvidia 闭源驱动,以及相应的硬件。
标签: linux qt opengl qml nvidia