BLOG-SINGLE

はじめに

OpenGLでリモートレンダリングすることの利点は、描写をサーバー側で行うことでクライアントのX描画の補助ができる!これに尽きます! 例えば、Mujocoなどの重い描画処理をOpenGLでリモートレンダリングすれば、リアルタイムで解析シミュレーションを描画することができます。

1. サーバー側(ubuntu 18.04)の設定

1-1. VNCサーバーのインストール

以下のコマンドでVNCサーバーをインストールします。

  $ sudo apt install vnc4server

1-2. virtual GLとturbo VNCのダウンロード

https://sourceforge.net/projects/virtualgl/files/からvirtual GLのダウンロードを行います。
さらに、https://sourceforge.net/projects/turbovnc/files/からturbo VNCのダウンロードを行います。

1-3. dpkgコマンドでdebパッケージをインストール

以下のコマンドでパッケージをインストールします。

  $ sudo dpkg -i virtualgl_2.6.2_amd64.deb
  $ sudo dpkg -i turbovnc_2.2.2_amd64.deb

1-4. virtual GLの設定を行う

以下のコマンドで設定を開始します。

  $ sudo /opt/VirtualGL/bin/vglserver_config

以下は設定内容です。

1) Configure server for use with VirtualGL
2) Unconfigure server for use with VirtualGL
X) Exit
Choose:
1     <---- [1]を入力してリターン

Restrict 3D X server access to vglusers group (recommended)?
[Y/n]
n     <---- [n]を入力してリターン

Restrict framebuffer device access to vglusers group (recommended)?
[Y/n]
n     <---- [n]を入力してリターン

Disable XTEST extension (recommended)?
[Y/n]
Y     <---- [Y]を入力してリターン

 :
(中略
 :
1) Configure server for use with VirtualGL
2) Unconfigure server for use with VirtualGL
X) Exit
Choose:
X     <---- [X]を入力してリターン

1-5. 再起動

以下のコマンドで再起動を行います。

$ sudo reboot

以上でサーバー側の設定は完了です。

2. クライアント側(Mac OS)の設定

Mac用のvirtual GLをダウンロード

https://sourceforge.net/projects/virtualgl/files/からMac用のvirtual GLのダウンロードを行います。

インストーラーを起動してvirtual GLのインストールをし、その後再起動します。

3. OpenGLによるリモートレンダリングの使い方

3-1. vglconnectでサーバーにアクセス

以下のコマンドでVirtualGL経由でサーバーにログインします。

  $ /opt/VirtualGL/bin/vglconnect -XY "username"@"ipadress"

3-2. TurboVNCの起動

以下のコマンドで描画サイズなどを設定し、TurboVNCを起動します。

  $ /opt/TurboVNC/bin/vncserver -geometry 1700x700 -depth 24

3-3. 転送する環境変数の設定

以下のコマンドで転送するDISPLAY環境変数を定義します(今回は1番)。X11の指すDISPLAY環境変数の定義を介して、リモートサーバーにXネットワークトラフィックをリダイレクトする場所を認識させています。

  $ DISPLAY=:1

終了するときは、以下のコマンドでプロセスをkillします。

  $ vnc4server -kill :1

以上で完了です!それでは皆さん、楽しいレンダリングライフを!

参考にしたページ

https://virtualgl.org/vgldoc/2_2_1/
https://gist.github.com/cyberang3l/422a77a47bdc15a0824d5cca47e64ba2

この記事を書いた人
炭谷翔悟

代表取締役

最先端の人工知能(AI)技術である「逆最適制御(逆強化学習)」の専門家