えいあーるれいの技術日記

ROS2やM5 Stack、Ubuntuについて書いています

Windows Insider Previewを試してみた。「WSLg」がやばい

 帰省した関係で、久しぶりにWindows10を触る機会がありました。Windowsは2か月くらい前に消してしまってからその間触っていないため、結構新鮮だったりします。

 そういえば、2か月前にWSLgの開発の発表があったなーと思い、一度はあきらめたWSLgに再チャレンジしてみました。WSLgのインストール手順を示します。

 なお、現時点ではDocker DesktopのWSLgの動作が確認できていません。ROS2をWindowsとかでも開発したいと思っているので、ここではROS-Foxyの開発環境の整備までを行います。

環境

  • Windows 10 Home

  • 十分なメモリとCPUスペック(私は16GB RAMですが、足りません)

  • あきらめない心

Windows Insider Programへの登録

 WSLgのサポートは安定版リリースには含まれていないため、Windows Insider Programへの参加が必要です。

Windows10で、設定→更新とセキュリティ→Windows Insider Programに進んで、「devチャネル」で登録します。登録が完了したら、次のようなUIになるでしょう。

f:id:Ray_ar:20210517225932p:plain
Insider Program

 その後、何度か再起動を繰り返してシステムをアップデートします。

 アップデート後のバージョン情報は以下の通りです。

エディション   Windows 10 Home
バージョン Dev
インストール日   2021/05/17
OS ビルド    21382.1
エクスペリエンス    Windows 10 Feature Experience Pack 321.12100.0.3

WSL2のインストール

 WSL2のインストールを行います。基本的にはMicrosoft Docsに従えば問題ないでしょう。私は以前にWSL2を導入しているので、後述するwsl --updateだけでセットアップが終わりました。

 Microsoft StoreではUbuntu20.04LTSを選択しましょう。WSLのセットアップは以下のリンクから確認してみてください。

docs.microsoft.com

NVIDIA Driverのアップデート

 Intel内蔵グラフィックスを使用するか、AMD GPUを使用するか、NVIDIA GPUを使用するかで必要なコマンドが変わります。私はNVIDIA GPUを使用しているので、その前提で説明します。

 WSLgにはどうやらNVIDIA Driver 470が必要みたいなので、GPU in Windows Subsystem for Linux (WSL) | NVIDIA Developerにアクセスして必要なドライバを落としてきます。ここで私は、470.14_gameready_win10-dch_64bit_international.exeを入手しました。

 直接クリックしてインストールを開始します。一度インストールに失敗しましたが、もう一度同じことをしたらなぜかうまくいったので、二度、三度挑戦してみましょう。

 NVIDIA Driverインストール後は再起動します。

WSLgの有効化

 まさかのこれだけ。

wsl --update
wsl --shutdown

Ubuntu 20.04の起動

 Ubuntuを起動します。最初にユーザネームとパスワードを決定します。Ubuntu Serverみたいですね。

f:id:Ray_ar:20210517231919p:plain

ROS Foxyのインストール

 Debianパッケージでいつも通りのインストールを行います。

docs.ros.org

Rviz2(GUIアプリ)の起動

$ source /opt/ros/foxy/setup.bash
$ rviz2

 終了するときは、Ctrl+cではなく、×ボタンを押します。

f:id:Ray_ar:20210517232347j:plain

その他 Windows Insider Preview (21382.1000)でのGUIの変更点(?)

 Windowsをあまり使っていなかったので、昔から実装されていたのに気づいていなかったところもあるかもしれません。

アイコンがちょっと変わってる

 結構WindowsGUI・システムが変更されています。あれ、これWindowsだっけ?というレベルの変更もされているようです。アイコンがなんかLinuxっぽいような…?

f:id:Ray_ar:20210517234107p:plain

Linuxのファイルに直接アクセス可

 まさかのデフォルトでUbuntuにアクセス可能でした。これはうれしい。ネットワークサーバのようなアイコンですね。 ドラッグアンドドロップを最初からできるのは素晴らしいです。ちなみに、WindowsのローカルディレクトリからUbuntuディレクトリにドラッグアンドドロップしたら、別のストレージのような挙動をします。(移動もとのファイルが消えることはありません)

f:id:Ray_ar:20210517235032p:plain

f:id:Ray_ar:20210517235008p:plain

 環境構築の再現をしたくないので、ぜひ、この記事で動かない!ということがあれば、ぜひ詰まったところを教えていただけると幸いです。

 次回はdarknet + Windows WSLgについて解説します。近日中にQiitaにも投稿したい。

WSLg使用上でのおすすめGPU

 WSLgにはある程度性能のよいGPUが必要です。用途に応じて購入を検討してみると良いでしょう。ココ最近はグラボが高騰気味ですが、いいタイミングを狙って賢く購入しましょう。

 私はRTX3080発表直後に中古のRTX 2080 Tiを9万円で購入しました。いいお買い物だったと今でも思います✨

GTX 1650:2080 Tiを購入するまではコレを使っていました。ゲームには厳しいと思いますが、CADやシミュレーションは快適になります。2.5万円を超えるとコスパが悪くなるのでゲーミングノートの方を検討するのもアリでしょう。

RTX 3060:ディープラーニングビギナーにオススメの1台。ディープラーニングはVRAM(GPUのメモリ)が最も重要なので12GBもあるRTX 3060は多少高騰気味の現市場でもオススメです。

参考になった資料

 インストール手順について参考になったリンク先を示します。

The Initial Preview of GUI app support is now available for the Windows Subsystem for Linux | Windows Command Line

WSLでGUIを使う(WSLg)

GitHub - microsoft/wslg: Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios