wsl2使用open3d等进行图像绘制

在~/.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的接口

[Open3D WARNING] GLFW Error: GLX: Failed to create context: GLXBadFBConfig
[Open3D WARNING] Failed to create window
[Open3D WARNING] [DrawGeometries] Failed creating OpenGL window.

error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值