JetBrains Toolbox在Windows崩溃:无法创建指定格式的OpenGL上下文
我之前也碰到过类似的情况——更新显卡驱动后JetBrains Toolbox直接罢工,要么托盘图标秒没,要么弹黑框报错。既然你已经确认了ANGLE的三个dll文件都在,那可以试试下面这些针对性的解决方案:
强制Toolbox使用ANGLE渲染后端
找到JetBrains Toolbox的快捷方式,右键选「属性」,在「目标」字段的末尾加上--use-angle=d3d9或者--use-angle=gl参数,举个例子:"C:\Users\你的用户名\AppData\Local\JetBrains\Toolbox\bin\jetbrains-toolbox.exe" --use-angle=d3d9保存后重启Toolbox,这个参数会强制程序绕开系统的OpenGL驱动,改用ANGLE的特定渲染模式,很多时候能解决驱动兼容性问题。
回滚显卡驱动到稳定版本
新驱动有时候会在OpenGL 2.0这类旧标准的支持上出bug。你可以打开设备管理器,找到「显示适配器」,右键你的显卡选「属性」,切换到「驱动程序」标签页,点击「回滚驱动程序」,跟着提示操作完再重启Toolbox试试。如果没有回滚选项,就卸载当前驱动,去显卡厂商官网下载之前的稳定版本重新安装。重置Toolbox的配置文件
配置文件损坏也可能导致渲染异常。先完全关闭Toolbox,然后删除这个路径下的配置文件夹:C:\Users\你的用户名\AppData\Roaming\JetBrains\Toolbox删除后重新启动Toolbox,它会自动生成新的配置,说不定就能正常运行了。
验证显卡驱动的OpenGL支持
可以用OpenGL Extensions Viewer这类工具检测一下,确认你的显卡驱动是否真的支持OpenGL 2.0及以上版本。如果检测出支持有问题,那就彻底卸载当前驱动,用厂商官方的安装包(别用第三方工具)重新安装一次。
你提到的具体报错信息如下:
--------------------------- Toolbox ---------------------------
无法为格式QSurfaceFormat(version 2.0, options QFlagsQSurfaceFormat::FormatOption(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::SwapBehavior(DefaultSwapBehavior), swapInterval 1, profile QSurfaceFormat::OpenGLContextProfile(NoProfile)) 创建OpenGL上下文。
这很可能是未安装必要的显卡驱动导致的。请提供支持OpenGL 2.0或更高版本的驱动,若无法实现,请确保ANGLE Open GL ES 2.0模拟库(libEGL.dll、libGLESv2.dll和d3dcompiler_*.dll)位于应用可执行文件目录或PATH列出的位置。
--------------------------- 确定 ---------------------------
内容的提问来源于stack exchange,提问作者Julien

