在~/.bashrc文件中添加两个环境变量
export DISPLAY="`grep nameserver /etc/resolv.conf | sed 's/nameserver //'`:0"
export LIBGL_ALWAYS_INDIRECT=0
第一行是让wsl将openGL命令(图形绘制命令)输出到哪里,也就是x-server的位置,这里指的就是我们本地的windows主机在wsl中的ip地址。
第二行禁止永远使用间接渲染,如果某些程序想要使用直接渲染那就让他使用直接渲染(关键,open3d只能直接调用gpu进行渲染,所有的错误都是由此产生)。
设置本地x-server
这里一定要禁止native openGL,这里的意思应该是x.org会将一部分glx的某些命令变为使用wgl实现,open3d只能直接调用gpu进行渲染,所以这里一定要禁止!否则会报错
开启x-server,图像正常显示了!
可能的报错
解决方式都是禁止open3d调用wgl,因为open3d没有办法调用wgl的接口文章来源:https://www.toymoban.com/news/detail-691971.html
[Open3D WARNING] GLFW Error: GLX: Failed to create context: GLXBadFBConfig
[Open3D WARNING] Failed to create window
[Open3D WARNING] [DrawGeometries] Failed creating OpenGL window.文章来源地址https://www.toymoban.com/news/detail-691971.html
error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast
到了这里,关于wsl2使用open3d等进行图像绘制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!