2018/02/13(火) [n年前の日記]
#1 [windows] WSL + MobaXtermを試用
昨日 WSL用のUbuntuをアンインストールしたものの、その後ググってたら、MobaXterm なら OpenGLを使ったアレコレも動く、てな話を見かけて。
_MobaXterm free Xserver and tabbed SSH client for Windows
_MobaXterm が便利
_MobaXtermを使いBash On Windowsで簡単にX11を使う - Qiita
OpenGL まで動くなんて、マジか…と興味が湧いたので、またWSLを触ってみようかなと。
それにしても自分、一体何回 WSL + Ubuntu のインストールとアンインストールを繰り返すのか…。
_MobaXterm free Xserver and tabbed SSH client for Windows
_MobaXterm が便利
_MobaXtermを使いBash On Windowsで簡単にX11を使う - Qiita
OpenGL まで動くなんて、マジか…と興味が湧いたので、またWSLを触ってみようかなと。
それにしても自分、一体何回 WSL + Ubuntu のインストールとアンインストールを繰り返すのか…。
◎ MobaXtermをインストール。 :
以前、Portable版を試用したことがあるけれど、今回はインストーラ版を利用。MobaXterm_Installer_v10.5.zip をDLして解凍。中に入ってる MobaXterm_installer_10.5.msi を実行してインストール。
ただ、Portable版も、インストーラ版も、起動に数分かかるのがちょっと厳しい。
起動して、session → shell と選んでいくと、WSL が選択項目として用意されてる。親切だな…。
X11アプリが動くかどうか確認。
OpenGLのサンプルが動くかどうか確認。
glmark2、glmark2-es2 も一部動いた。
_OpenGL / OpenGL ES2.0 のパフォーマンスを確認する(glmark2/glmark2-es2 を使う) - Qiita
ただ、Portable版も、インストーラ版も、起動に数分かかるのがちょっと厳しい。
起動して、session → shell と選んでいくと、WSL が選択項目として用意されてる。親切だな…。
X11アプリが動くかどうか確認。
sudo apt install x11-apps xeyes &目玉が表示された。
OpenGLのサンプルが動くかどうか確認。
sudo apt install mesa-utils mesa-utils-extra glxgears -info es2gearsOpenGL、OpenGLES を使った例のギアが表示された。たしかにOpenGLアプリも動くっぽい。
glmark2、glmark2-es2 も一部動いた。
_OpenGL / OpenGL ES2.0 のパフォーマンスを確認する(glmark2/glmark2-es2 を使う) - Qiita
◎ love2dは動かなかった。 :
OpenGL が動くなら、love2d も動くのかな、と試してみたけど…。
これはやっぱりダメだった。
Ubuntu 16.04 LTS の公式リポジトリにある SDL2 や love2d は古いので、SDL2のソースをダウンロードしてビルドしたり、リポジトリを追加してlove2dの現行版をインストールしてみたけど、結果は変わらず。
_mieki256's diary - Ubuntu 16.04 LTS上にlove2dをインストール
_mieki256's diary - Ubuntu 16.04にgolangとgo-sdl2をインストール
export DISPLAY=:0 だの、export DISPLAY=localhost:0.0 だのを打ってから試してみたりもしたのだけど、やっぱりダメ。ちなみに MobaXterm 上では、デフォルトでは DISPLAY=127.0.0.1:0.0 になってる模様。
まあ、そもそも、love2d は Windows用バイナリが存在するわけで。
_LoVE - Free 2D Game Engine
あえて WSL上で動かさないといけない理由は、どこにも無いのだけど…。いやまあ、SDL2を使ったアプリまで動いたらスゴイな、と期待しちゃったけど、さすがにそれは無理っスよ、てな状況らしいなと。
sudo apt install love love
これはやっぱりダメだった。
# 公式リポジトリ版 love (0.9.1-3ubuntu1) $ love Error: No available displays stack traceback: [C]: at 0x00430780 [C]: in function 'require' [string "boot.lua"]:324: in function <[string "boot.lua"]:241> [C]: in function 'xpcall'
Ubuntu 16.04 LTS の公式リポジトリにある SDL2 や love2d は古いので、SDL2のソースをダウンロードしてビルドしたり、リポジトリを追加してlove2dの現行版をインストールしてみたけど、結果は変わらず。
_mieki256's diary - Ubuntu 16.04 LTS上にlove2dをインストール
_mieki256's diary - Ubuntu 16.04にgolangとgo-sdl2をインストール
# PPA版 $ love Error: Could not initialize SDL video subsystem (No available displays) stack traceback: [C]: at 0x7f2a742d7f20 [C]: in function 'require' [string "boot.lua"]:375: in function <[string "boot.lua"]:275> [C]: in function 'xpcall'
export DISPLAY=:0 だの、export DISPLAY=localhost:0.0 だのを打ってから試してみたりもしたのだけど、やっぱりダメ。ちなみに MobaXterm 上では、デフォルトでは DISPLAY=127.0.0.1:0.0 になってる模様。
まあ、そもそも、love2d は Windows用バイナリが存在するわけで。
_LoVE - Free 2D Game Engine
あえて WSL上で動かさないといけない理由は、どこにも無いのだけど…。いやまあ、SDL2を使ったアプリまで動いたらスゴイな、と期待しちゃったけど、さすがにそれは無理っスよ、てな状況らしいなと。
◎ VMware + Ubuntuで試してみた。 :
実は Ubuntu 16.04上でSDL2は動かなかったりしないか、と不安になったので、以下のサンプルを使わせてもらって、VMware Player + Ubuntu 16.04上で動作確認してみたり。
_H4tch/Basic-SDL2-Demo: Game demo built on C++ and SDL2. Has Camera, Player, Timers, Spritesheets, and a basic Map functionality. MIT Licensed.
フツーに画面が表示された。
もちろん、love2d も動く。
ということは、実機、もしくは仮想PC上なら SDL2 は動くけど、WSL + MobaXterm 上で SDL2 を動かすのは無理、ということだな…。
考えてみたら、MobaXterm が起動するまでの時間と、VMware Player + Ubuntu が利用可能になるまでの時間が、ほとんど変わらないのだよな…。それに、WSLはファイルアクセスが体感でも遅い…。現状では、LinuxのGUIアプリをどうしても使いたいなら、VMware + Ubuntu上で使ったほうがいい、ということになるのだろう。
もちろん、単にコマンドラインツールをパッと呼び出して使いたいという需要であれば、WSL(bash)だけならすぐに起動できるので、メリットはあるはず。
_H4tch/Basic-SDL2-Demo: Game demo built on C++ and SDL2. Has Camera, Player, Timers, Spritesheets, and a basic Map functionality. MIT Licensed.
sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-gfx-dev
git clone https://github.com/H4tch/Basic-SDL2-Demo.git cd Basic-SDL2-Demo make ./sdl2-demo
フツーに画面が表示された。
もちろん、love2d も動く。
sudo apt install love love
ということは、実機、もしくは仮想PC上なら SDL2 は動くけど、WSL + MobaXterm 上で SDL2 を動かすのは無理、ということだな…。
考えてみたら、MobaXterm が起動するまでの時間と、VMware Player + Ubuntu が利用可能になるまでの時間が、ほとんど変わらないのだよな…。それに、WSLはファイルアクセスが体感でも遅い…。現状では、LinuxのGUIアプリをどうしても使いたいなら、VMware + Ubuntu上で使ったほうがいい、ということになるのだろう。
もちろん、単にコマンドラインツールをパッと呼び出して使いたいという需要であれば、WSL(bash)だけならすぐに起動できるので、メリットはあるはず。
[ ツッコむ ]
以上です。