在 RDP 下运行 QML 应用程序时出现 OpenGL 问题
Posted
技术标签:
【中文标题】在 RDP 下运行 QML 应用程序时出现 OpenGL 问题【英文标题】:OpenGL issue while running QML application under RDP 【发布时间】:2016-12-19 06:28:08 【问题描述】:我使用 QtQuick 和 QML 开发了我的应用程序,它在 windows 和 linux 上运行良好,但在通过 RDP 连接到远程对等方时应用程序 UI 不显示,它在 VNC 上运行良好。
我已经通过各种配置对其进行了测试,但它从未在 RDP 上运行过。错误是说
createWindowSurface:无法创建 EGL 窗口表面:0x300e
我认为问题在于 opengl,但我从未在此应用程序中使用过 opengl。
我的应用程序基于 Qt Quick 示例提供的简单 QML 应用程序。他们也不工作。
【问题讨论】:
RDP 不支持 OpenGL > 1.1。我知道的唯一解决方法是在物理机上启动应用程序,然后通过 RDP 连接。或者使用不同的远程系统。 @rubenvb 没有任何改变,我之前测试过。 【参考方案1】:我不知道 Qt 的 Opengl 堆栈出了什么问题,但通常它应该打开软件模式。
我认为问题在于 opengl,但我从未在此应用程序中使用过 opengl。
是的,问题在于 OpenGL over RDP,在 Qt Quick2 中,默认支持的是原生 OpenGL 后端,因此如果您使用 Qt Quick 2 开发应用程序,则需要 OpenGL 驱动程序。
尝试让 QT_OPENGL=software 在环境变量中,暂时修复它。
【讨论】:
以上是关于在 RDP 下运行 QML 应用程序时出现 OpenGL 问题的主要内容,如果未能解决你的问题,请参考以下文章
在程序文件下运行 .exe 时出现 System.UnauthorizedAccessException