【はじめての】WSLでubuntu18.04からIntel・Realsense435を動かそうとした結果

#概要
Realsenseを使って画像認識デバイスを作って遊んでみようと思い、まずubuntuを使って動作確認を目指す。
他の方法ならrealsense動かせるよとかは承知の上で、WSLにてやってみた。
結果からいうと、試行錯誤したけどうまくいかなかったため、まずはここまでの情報を残しておく。

##おおまかな流れ
1.ubuntuのカーネル更新
2.1)SDKをインストール
　　→インストールエラー
　2)aptのアップデート
　　→アップデートエラー
　3)リポジトリ登録
　　→GPGエラー
　　公開鍵登録により解決
3.1)Realsense　viwer起動
　　→反応しない
　2)VcXsrvインストール
　　→インストール完了
　　→起動エラー「opengl 3.0 or arb_vertex_array_object extension required!」でお手上げ←※本記事投稿時

##環境
**OS** 
Windows10 1903 
ubuntu 18.04
※WSL

**GPU**
Intel HD Graphics4400
OpenGL 4.3.0

**デバイス**
Intel realsense435i

#やったこと

1.ubuntuのカーネル更新
以下からrealsense SDKをダウンロード（clone）
https://github.com/IntelRealSense/librealsense

2.1)インストール：エラー「E: Unable to locate package ～」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/73b3a0b4-722b-1a32-0ce2-b58bfc2e8bba.png)

2.2)aptのアップデート
インストールできない場合は、aptのアップデートを実行
https://qiita.com/7of9/items/ccea82528fb58091c0c4

apt-get、upgradeを続けて実行しようとしたらupdateで以下エラー
 update実行：GPGエラー「The following signatures couldn't be verified because the public key is not availabe」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/68bbba09-afbc-0fb3-92d1-54be7a72742c.png)

2.3)公開鍵登録
https://qiita.com/HS310164/items/15ebb375726ff4db4eb2
コマンドは以下が参考になった(windows10 1809)↓
https://blog.fieldnotes.jp/entry/workaround-wsl-1804-apt-key-bug
その後、update,upgrade
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/1da3f176-7dd1-c0d9-06d5-2ac4b9d26e18.png)


 改めてSDKインストールしたところ、無事インストール完了。(処理が長いので実行結果後半は省略)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/0f5d68d3-3f86-43ef-fa4c-857c8b7a5cd9.png)

3.1)realsense viserを改めて実行：反応しない（！）エラーメッセージは消えた変わりに何も反応しない。それはそれで困る。。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/eb406e2c-874c-ec58-47e8-2d82e704ab86.png)

そもそもubuntuはCUIのため、Xサーバー（X window system）にてGUIのデスクトップ環境を構築している。
通常のubuntuの場合はインストールは必要ないみたいだが、今回はWSLのため、明示的にインストールする必要があったみたい！

https://nakomii.hatenablog.com/entry/ubuntu_wsl_gui
VcXsrvのインストールを進め、動作確認サンプルを動かして目ん玉が表示されたからインストール完了！
ubuntu側からGUI表示させる準備は整った！次こそは行けるのか。。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/82deb836-c789-6226-9b81-b84af7d1b4d2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/22a3e674-0832-1a66-17b8-5ca17f7aee2a.png)


3.2)realsense viwerを実行：OpneGL3.0かARB_vertex_array_objectが入っていないエラーが発生。
「opengl 3.0 or arb_vertex_array_object extension required!」
もう少し、もう少しでうまくいくはずだ。。(？)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/7a7a5f85-7990-9d0d-2d54-cd9a6f9f7666.png)


そもそもOpenGLって聞きなれないけどなんだ、、
OpneGLのバージョン確認
OpenGL4.3.0が入っている。。3.0をクリアしているのではないか。。？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/109c2031-3af7-7d09-046d-c9861256ecd1.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/5b7c3831-616c-d468-f669-e4d2a27312cf.png)

---
ちょっと分からなくなってきた。。整理すると、
・wslでxeyesが起動できる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/2bd00aa7-9443-f144-2830-a6e797b7d7b3.png)

・windows側からはViewer起動できる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411736/26f66611-bb1d-df46-df9e-2c6e600a3a34.png)


viewerを起動する動作環境は整っているんじゃないのか？？
**・・・WSLではWindows側のGPUは認識できないのかもしれない。**

ということで現段階では原因が特定できず、
WSLでubuntu18.04からrealsense viwerを起動するのはうまくいっていません。(続く)

##あとがき
・再起動など一部のコマンドは、ubuntuのコマンドがWSlのためそのまま使えないということがありました。
・コマンド使うためのインストール作業とか細かい箇所は割愛しています
・本記事はうまくいかない情報（エラーメッセージ）を画像のまま残しおり見づらい部分があるかと思いますが、今回はご容赦ください。
・Linux系素人のぺーぺーなので、ここ違うんじゃね？とかあればご指摘いただけると幸いです。とりあえず頑張れならいいねくれると喜びます。
・念のためOpenGL3.0を入れるためGULTインストール(freeglut3-dev)トライしてみたけど変わりなかった。

・今回のrealsenseを使ってやりたいことは、ロードバイク乗りとして画像認識デバイスをあんなコトやこんなコトに使えたら面白いなぁと思って始めています。その過程で、勉強の意味も兼ねてせっかくなら色々試してみてみようかなと思っていますがWSLでうまく行かないということが確定すれば、別の方法でrealsenseの動作確認をしてその先に向けて進めたいと思っています。

##参考
・realsenseもろもろについて
https://qiita.com/PINTO/items/73b341a3661367a0dc61

・OpenGLについて
http://wisdom.sakura.ne.jp/system/opengl/gl1.html