我在 WSL 上运行需要 mayavi 图形输出的脚本,但我收到以下错误:
图形驱动程序不支持具有gpu_shader4扩展名的 GL 版本 2.1,但新的 OpenGL 呈现后端需要该版本。请更新您的 OpenGL 驱动程序。如果您使用的是 Mesa,请确保您使用的是 10.6.5 或更高版本,并确保 Mesa 中的驱动程序支持 OpenGL 3.2。
我目前的OpenGL版本是OpenGL版本字符串:1.4(2.1台面19.2.0-devel (git-cdf42f5eaa((
我尝试通过各种解决方案更新OpenGL驱动程序,包括:
- 导出显示=:0
- 导出显示=本地主机:0
- 导出 LIBGL_ALWAYS_INDIRECT=1
- 将 ubuntu-x-swat 添加到存储库中,然后通过 (即 sudo apt-get upgrade( 升级(
- 出口MESA_GL_VERSION_OVERRIDE=4.5; 出口MESA_GLSL_VERSION_OVERRIDE=150;
。但这些解决方案都不起作用!
任何善良的灵魂都知道我如何解决这个问题?
export LIBGL_ALWAYS_INDIRECT=0
^这对我有用。我使用 wsl2 ubuntu-20.04 并运行具有多个窗口的 X-server,取消选中本机 opengl 并选中禁用访问控制
这可能是因为您使用了间接渲染模式。
执行命令时输出是什么glxinfo -B
,如果"直接渲染"为 no,您可以通过执行命令 'LIBGL_ALWAYS_INDIRECT=0' 将其设置为 yes。
然后再次执行命令'glxinfo -B'并观察opengl的版本。