WSL2でRvizやGazeboなどを動かす
はじめに
WSL2上のUbuntuからWindows上のXサーバーを利用してRvizやGazeboなどを表示させようとすると、Segmentation Faultなどが発生する場合がある。
この記事はその対策についてのメモである。
前提
WSL2、Ubuntu、ROS、Rviz、Gazebo等のインストールは済んでいるものとする。
検証環境
ソフトウェア
Windows 10 Pro バージョン 20H2 (OS ビルド 19032.804)
WSL2
Ubuntu 18.04.5 LTS (Bionic Beaver)
ROS Melodic (aptでインストールしたもの)
VcXsrv Version 1.20.8.1
ハードウェア
ALIENWARE m15
Core i7
NVIDIA RTX 2080
設定方法
WSL2上のUbuntu側
~/.bashrc
に以下を追記して source ~/.bashrc
する。
export DISPLAY="`grep nameserver /etc/resolv.conf | sed 's/nameserver //'`:0"
export LIBGL_ALWAYS_INDIRECT=0
ここで export LIBGL_ALWAYS_INDIRECT=0
は export LIBGL_ALWAYS_INDIRECT=
でも良いようだ。(動作することは確認したが正確な仕様は未確認)
Windows上のVcXsrvのXLaunch側
XLaunch起動後の画面遷移を順番に貼っていく。
Native OpenGL
のチェックを外す。
Disable access control
にチェックを入れる。
VcXsrvのWindows Defenderファイアウォールの設定
最低限パブリック
にチェックを入れること。
恐らくWSL2内とWindowsとの間にはデフォルトゲートウェイが無いので、パブリックネットネットワーク扱いになるのではないかと。
動作確認
$ rviz
おまけ。起動に失敗する場合の症状
試しに export LIBGL_ALWAYS_INDIRECT=1
としてみる。
参考
Author And Source
この問題について(WSL2でRvizやGazeboなどを動かす), 我々は、より多くの情報をここで見つけました https://qiita.com/comocc/items/68d4ca02277abd2c457c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .