WSLにてIntel Realsense435を動かしてみた【WSL1→WSL2バージョンアップ編】

##前回までの記事のあらすじ
Realsense435を使って画像認識デバイスを作成するにあたって、
WSL(1)環境(Windows10 1904,Ubuntu 18.04)にてRealsense435の動作確認を実施しようとしたところ起動しなかった。
前回記事：https://docs.microsoft.com/en-us/windows/wsl/install-win10

##概要
WSL1だとWindows側のGPUを認識できないという問題があったが、記事投稿後の数日後の2020/5/19 「Builed 2020」にてWSL2の新機能が発表されたため、まずWSL1からWSL2にバージョンアップを実施してみた。（WSL1が有効になっている状態でWSL2をインストールする）

WSL概要
https://www.google.co.jp/amp/s/forest.watch.impress.co.jp/docs/news/1253/524/amp.index.html

参考にしたのは以下MS公式ページ
https://docs.microsoft.com/en-us/windows/wsl/install-win10

##やったこと
###１．Windows バージョンアップデート
WSL2を利用するためには、Windows10 2004のバージョンである必要があり、現在('20/5月時点)はWindows Insider Previewに参加し2004にUPdateしなければならない。

１）Windows Insider Previewサイトから手順に従って最新ビルドをダウンロードをしてインストールを完了させる。
https://insider.windows.com/ja-jp/about-windows-insider-program/

※希望するpreviewビルドの種類はSlowを選択するのがおススメ。不具合などのリスクがあるためより製品版に近い「Slow」が推奨されている
Windows Insider Preview
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/eeb26a8a-3a22-2213-5fbb-0328fc866cfc.png)
※再起動なりで数時間はかかりました。インストール時は一晩寝かせておくがおススメ。


２）バージョンを2004にアップデート。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/ce58eeb7-e3c0-c36a-1cf5-83ad24391bb6.png)

###２．WSLの設定確認
１）もともとWSL1を有効にしていたので、改めてWindows Subsystem for Linuxが有効になっていることを確認。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/a22496e5-bbb9-803c-5d48-c60560c1f2d9.png)

２）「仮想マシンプラットフォーム」オプションコンポーネントを有効にする
WSL 2をインストールする前に、「仮想マシンプラットフォーム」オプション機能を有効にする必要があります。

LinuxのWindowsサブシステムのオプションを有効に

```powershell

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/afd3d583-f5a2-387b-4b44-74a4cc6931ef.png)


３）再起動

###３．WSLのバージョンアップ
１）現在のWSLバージョンを確認（WSL1であることを確認）

```powershell
wsl --list --verbose
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/c6d8f83d-deae-dfff-ce06-bf7b529008ab.png)

２）WSLのバージョンを設定する（WSL1→WSL2）

```powershell
wsl --set-version <distribution name> <versionNumber>
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/edc1b122-afaf-8a3b-e149-ccd8ab255797.png)

**→WSL2を実行するにはカーネルコンポーネントの更新が必要らしい。**

３）Linuxカーネルコンポーネントの更新
以下手順に従い更新を実施。
https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-kernel

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/bcac5f07-bc5a-4dd8-29c0-13509a936a12.png)

**→「BIOSの仮想化が有効になっていることを確認してください」**

４）UEFI(BIOS)の仮想化支援機能を有効にする
UEFI(BIOS)の仮想化支援機能が無効になっていることが原因らしい
https://qiita.com/poramal/items/3562472d52fe60f61c56

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/88fc6f20-61cb-f415-fc40-c8a2afe98783.png)

仮想化支援機能を有効に変更
![0D23ECE8-F0B6-4C87-95FE-DD78C530D5F2.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/7f973145-90bb-dff5-caeb-33fa9803b883.jpeg)

５）改めてWSL1からWSL2にアップデートを実施。**→成功！！**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/dde0f71c-f98c-db38-c971-81ff37a6eafb.png)

WSL2に変更されたことを確認。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/44932d7c-9a62-ca58-0414-31255f30fc9f.png)


##あとがき
・WSL2をデフォルトにしたい場合

```powershell
wsl --set-default-version 2
```

・Xサーバーを起動し忘れないように前回の記事でインストールしたVcXsrvをスタートアップメニュー（Windows+Rでshell:startupを実行してVcXsrvショートカットを格納）に起動しておくことをおススメする。

・次回記事はWSL2に変更して、Realsenseがubuntuから起動することができるか確認する。

##参考
Microsoft windows subsystem for linux インストールガイド
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10

WSL2におけるVcXsrvの設定
https://qiita.com/ryoi084/items/0dff11134592d0bb895c