问题描述:
isaacgym安装完IsaacGym_Preview_4_Package.tar.gz之后,运行python joint_monkey.py
没有任何内容现实,但是终端还是正常输出信息。
环境是ubuntu22服务器,python3.8,nvidia Driver Version: 515.65.01 CUDA Version: 11.7。远程连接服务器,服务器没有desktop。
相关链接
在谷歌上能找到一些相关问题:
- Environment working, but not render()
- CarRacing-v0 in Gym: The screen is totally black when I run the environment
- Isaac Gym examples: black window when running joint_monkey.py?
但是没能解决我的问题
可能的方法
我碰巧安装了两个软件之后,发现这个问题解决了。
在终端输入xclock
& glxgears
,他俩分别长这个样子,一般是用来测试x11的显示是否建立。但是这两个软件都需要安装想要的软件,服务器上都没有安装,安装上之后,发现可以正常使用了。目前看应该是对应依赖的问题。
fbx的安装
对于isaacgymEnv的headless展示,还是不能显示内容,能弹窗,但是黑屏。鉴于过程中提到了fbx没有安装的问题,那就安装上看看能不能解决这个问题。结果发现还是未能解决黑屏的问题,不过先把fbx的安装记录下来。
fbx自己介绍是不同类型的3D文件格式间的互相转换,mya、blender之类的,确实和显示没啥关系。不安装的时候会出现No module named 'fbx'
问题
- 需要下载fbx sdk,下载链接和安装过程参考这个链接就可以了Configuring the FBX SDK for Linux。注意解压后就是安装包,不过这个安装包貌似还是一个压缩包,直接按说明放到同一个文件夹就行了。
- 然后下载FBX Python Bindings,也在上述下载链接里。文件结构类似,处理完之后有个Readme.md文件,剩下的就参考这个文件进行处理就可以了。注意有环境变量就可以了
- trouble shooting:
libxml2 not found
:apt-get install libxml2 libxml2-dev
可以解决。在解决这个问题前还遇到了libicu-dev降级的问题,参考这个How to install libicu-dev on Ubuntu就可以了No module named 'FbxCommon'
问题,这个没有在网上找到相关网页。不过搜索’FbxCommon’发现就是FBX Python Bindings的samples。把路径添加到环境变量里解决了这个问题。
- 最后添加到bashrc中的环境变量如下:
export PYTHONPATH=/home/xxx/software/fbx/fbxpythonbindings/samples:$PYTHONPATH
export FBXSDK_ROOT=/home/xxx/software/fbx/fbxsdk_gcc_linux/file