在peppe 的this comment 的帮助下
可以对不支持 DirectX11 但支持 DirectX9 的图形驱动程序使用临时解决方法
这里说的
https://doc.qt.io/qt-5/windows-requirements.html#dynamically-loading-graphics-drivers
图形驱动程序
要使 Qt Quick 2 工作,需要提供 OpenGL 2.1 或更高版本的图形驱动程序。 Windows 的默认驱动程序是 OpenGL 1.1。 Qt 包含一个版本的 ANGLE 项目,它包含在 Windows Qt 安装程序中。 ANGLE 在 DirectX 11 或 DirectX 9 之上实现了 OpenGL ES 2.0 API。ANGLE 要求在构建 Qt 时安装 DirectX SDK。
ANGLE 根据可用性选择渲染后端。 DirectX 11 通常是首选。但是,某些显卡可能不完全支持它。对于这些情况,可以使用环境变量 QT_ANGLE_PLATFORM(在 Qt 5.4 中引入)来控制渲染后端。可能的值是 d3d11、d3d9 和 warp。
所以这可能会有所帮助
set QT_ANGLE_PLATFORM=d3d9
或将台面与
一起使用
https://www.mesa3d.org/llvmpipe.html
Qt::AA_UseSoftwareOpenGL 的特殊之处在于它会尝试使用非标准名称加载 OpenGL 实现。默认名称是 opengl32sw.dll。这允许使用此名称发布纯软件 OpenGL 实现,例如使用 llvmpipe 构建的 Mesa。如有必要,可以通过设置 QT_OPENGL_DLL 环境变量来覆盖文件名。
编辑 1:
例如,可以使用回退方法一次性登录 Dropbox Windows 客户端(使用 QT 框架制作)
动态加载图形驱动程序
除了构建时配置之外,Qt 还支持在运行时选择和加载 OpenGL 实现。要使用此模式,请将 -opengl dynamic 传递给配置脚本。
注意:从 Qt 5.5 开始,这是官方预构建的 Qt 二进制包所使用的配置。强烈建议在自定义构建中也使用它,尤其是与应用程序一起部署的 Qt 二进制文件。
...
此配置是最灵活的,因为在构建期间没有硬编码有关 OpenGL 实现的依赖项或假设。它允许强大的应用程序部署。当给定环境无法提供正确的 OpenGL 2.0 实现时,它将自动回退到 ANGLE。此回退对应用程序完全透明,并允许 Qt Quick 或其他 OpenGL 代码通过转换为 Direct3D 来运行。 例如,这种回退可能发生在没有安装额外图形驱动程序的 Windows 7 PC 上。 在其他有足够 OpenGL 支持的机器上,将使用普通的桌面 OpenGL 驱动程序。此外,纯基于软件的 OpenGL 实现可能会在未来作为额外的备用方案提供,允许在没有 GPU 的情况下运行 Qt Quick 应用程序。
当使用 -opengl dynamic 配置时,Qt 和使用 qmake 构建的应用程序都不会链接到 opengl32(标准桌面 OpenGL)或 QtANGLE 库。相反,在运行时选择适当的库。默认情况下,Qt 会判断系统的 opengl32.dll 是否提供 OpenGL 2 功能。如果这些存在,则使用 opengl32.dll,否则将使用 ANGLE 库(libEGL.dll 和 libGLESv2.dll)。如果 ANGLE 库丢失或由于某种原因初始化失败,则会通过尝试加载 opengl32sw.dll 来尝试额外的回退。详情见下文。
例如,这种回退可能发生在装有 Windows 7 的 PC 上
没有安装额外的图形驱动程序。
要模拟这种情况,可以使用 RDP 会话,强制 8 bpp 到 Windows 机器