4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSL(2)上でMuJoCoを動かす(GUIも)

Last updated at Posted at 2020-04-04

WSL2上でもMuJoCoを動かすことが可能です。

WSL2の導入とGUIの導入については大変だった点をまとめて別記事を書いたのでこちらをご参照ください。
WSL2の導入とGUI環境の構築

mujoco-pyを動かしたいときのPythonについては導入済みという前提で進めます。

MuJoCo導入

MuJoCoのダウンロード

好きな方法で https://www.roboti.us/index.html からMuJoCoをダウンロードし ~/.mujoco/mujoco200 に展開します。例えば、

wget https://www.roboti.us/download/mujoco200_linux.zip
unzip mujoco.zip -d /home/{username}/.mujoco
mv /home/{username}/.mujoco/mujoco200_linux /home/{username}/.mujoco/mujoco200
rm mujoco.zip

また、~/.mujoco/mjkey.txt にライセンスキーを用意します。

環境変数の追加

さらに、~/.bashrc

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/{username}/.mujoco/mujoco200/bin

を追加します。

依存するものの導入

いくつか必要なものをいれてやります。

sudo apt update
sudo apt install gcc
sudo apt install libosmesa6-dev

ここまでくれば、pip install mujoco-py ができます!!

GUIで描画する

準備として

sudo apt install libgl1-mesa-dev xorg-dev

しておきます。

また、GUIについてはWSL2の導入とGUI環境の構築を参考にして導入してください。

$ cd ~/.mujoco/mujoco200/bin
$ ./simulate ../model/humanoid.xml
MuJoCo Pro version 2.00
ERROR: could not initialize GLFW

Press Enter to exit ...

が出たらファイアウォールのうちWindows Defenderファイアウォールのプロパティからパブリックドメインの保護されているネットワーク接続で、wslのチェックを外してください。

ただし、ここで紹介したデフォルトのまま(あるいはいろいろなサイトで紹介されているもの)だと、

MuJoCo Pro version 2.00
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
ERROR: OpenGL version 1.5 or higher required

Press Enter to exit ...

となってしまいます。OpenGLのバージョンが低すぎるようです。世界中で1つだけ?答えに行きついているサイトがありました。 https://superuser.com/questions/1487555/how-to-troubleshoot-opengl-on-ubuntu-under-windows-10-wsl

要するに、

  1. LIBGL_ALWAYS_INDIRECT~.bashrcで設定するな
  2. LIBGL_ALWAYS_INDIRECT変数は一切設定するな
  3. VcXsrv起動時にはNative openglのやつのチェックを外す。さらに-wglオプションをつけるな。

1、2については、LIBGL_ALWAYS_INDIRECTはもともと\etc\profile.d\wsl-integration.shで定義されている(これはシンボリックリンクで本当は/usr/share/wslu/wsl-integration.sh)とのことです。
したがって、~/.bashrc

unset LIBGL_ALWAYS_INDIRECT

をかいてやれば変数が削除できるのでいけます。これで、./simulate ../model/humanoid.xmlもできますし、mujoco-py 、あるいは OpenAI gym を使った描画もできます。

4
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?