「VirtualGLでリモートのOpenGLアプリをぬるぬる動かす」の版間の差分
提供: Eospedia
(→実行) |
|||
行1: | 行1: | ||
* VirtualGLを使ってリモートのOpenGLアプリをぬるぬる動かす試み | * VirtualGLを使ってリモートのOpenGLアプリをぬるぬる動かす試み | ||
** https://virtualgl.org/About/Introduction | ** https://virtualgl.org/About/Introduction | ||
− | |||
== 実行環境 == | == 実行環境 == | ||
行56: | 行55: | ||
(server)$ chimera | (server)$ chimera | ||
vglrunをいちいち打たなくてよくなり、楽。 | vglrunをいちいち打たなくてよくなり、楽。 | ||
+ | |||
+ | == 総括 == | ||
+ | 研究室のLAN外にあるサーバーでも、VirtualGLを使えば、重めの3D描画アプリもぬるぬる動かせることがわかりました。 |
2019年5月12日 (日) 13:03時点における版
- VirtualGLを使ってリモートのOpenGLアプリをぬるぬる動かす試み
実行環境
サーバー
Ubuntu 16.04.6 LTS
- 3.6 GHz Intel Xeon E5-1650
- 64 GB 2133 MHz DDR4
- NVIDIA GeForce GTX 1080 8 GB x 4台
- Driverバージョン 418.74
- CUDAバージョン 10.1
クライアント
macOS Mojave 10.14.4
- Mac mini (Late 2012)
- 2.3 GHz Intel Core i7
- 16 GB 1600 MHz DDR3
- Intel HD Graphics 4000 1536 MB
- XQuartx 2.7.11
インストール
サーバー側
- VirtualGL 2.6.1(virtualgl_2.6.1_amd64.deb)をインストール
- VNCでリモートデスクトップの2.1.1節を参照
- また、公式の https://cdn.rawgit.com/VirtualGL/virtualgl/2.6.1/doc/index.html#hd005001 も参照
クライアント側
- VirtualGL 2.6.1(VirtualGL-2.6.1.dmg)をインストール
実行
クライアント側(Mac)で、新規ターミナルを起動。そこで、
(client)$ /opt/VirtualGL/bin/vglconnect -s <ユーザー名>@<サーバーipアドレス>
により、サーバーへsshログインする。
このとき-sオプションをつけないとVGLの通信が暗号化されないので注意。
今回はサーバーが研究室のLANの外にあるため、暗号化している。暗号化の代償として、描画速度が遅くなる。
(試しに一瞬だけ-sオプションを外して暗号化をなくして以下を実行すると、glxgearsの動きが目に見えて速くなった)
実験としてglxgearsを動かしてみる。
(server)$ /opt/VirtualGL/bin/vglrun glxgears
-sによる暗号化の代償で、期待したほど速く動いてくれない。それでもvirtualglを使わない場合と比べればマシではある。
重めの3D OpenGLアプリ UCSF Chimeraを動かしてみた。
(server)$ /opt/VirtualGL/bin/vglrun chimera
chimeraのコマンドラインで適当にpdbをfetchして描画してみる。
(chimera)$ open 2zwh
嗚呼!割とぬるぬる動く!-sオプションのせいで遅くなりすぎるのではと心配したが、意外となんとかなった。
さらに、以下によりvglrunでbashを起動すると、そのbashターミナルの中で起動したOpenGLアプリは全てVirtualGLが描画を手伝ってくれ、描画が高速になる。
(server)$ /opt/VirtualGL/bin/vglrun bash (server)$ chimera
vglrunをいちいち打たなくてよくなり、楽。
総括
研究室のLAN外にあるサーバーでも、VirtualGLを使えば、重めの3D描画アプリもぬるぬる動かせることがわかりました。