本文へ移動

VirtualGLとTurboVNCでLinuxのGPU描画をMacから利用する

技術

LinuxのGPU描画をVirtualGLとTurboVNCでMacへ転送し、SSHで接続する構成図

3Dシミュレーションや可視化を、GPUを備えたLinuxサーバーで実行し、Macから操作したい場合があります。サーバーでOpenGLの描画を行い、描画済みの画面をクライアントに転送する構成として、VirtualGLとTurboVNCを組み合わせる方法を紹介します。

2026年10月8日改訂。旧記事のUbuntu 18.04・vnc4serverを前提とした導入手順を見直しました。パッケージの対応OS・GPUドライバーは導入時点の公式資料で確認してください。

それぞれの役割

構成要素役割
LinuxサーバーのGPUOpenGLアプリケーションの3D描画
VirtualGLアプリケーションの描画をサーバー側GPUへ向ける
TurboVNC Server仮想デスクトップの画面を転送する
MacのTurboVNC Viewer画面の表示とキーボード・マウス操作
SSH接続の認証と通信経路の暗号化

X11の転送だけでGPU描画が利用できるとは限りません。また、この構成はOpenGL向けであり、Vulkanや各アプリケーション固有の描画方式にそのまま適用できるわけではありません。The VirtualGL Projectの公式ガイドで対象アプリケーションの条件を確認します。

導入前に確認すること

サーバーには、対応GPU・ドライバー・デスクトップ環境・SSH接続が必要です。VirtualGLのGLXバックエンドはGPUに接続したXサーバーを使用し、EGLバックエンドは対応するEGLデバイスを使用します。どちらを使うかで設定が変わります。

VirtualGLとTurboVNCは、それぞれの公式サイトから対応するパッケージを取得します。VirtualGLのサーバー設定は管理者が公式手順に従って行い、GPUを共有するユーザーを限定します。旧記事の設定回答を一律に流用せず、既存の画面セッションやアクセス権への影響も確認してください。

SSH経由で画面に接続する

以下は、標準の/opt/TurboVNCに導入済みのサーバーで、ディスプレイ番号1を使う例です。対応するVNCのTCPポートは5901です。空き番号や既存セッションを確認してから起動します。

サーバー上で実行します。-localhostにより、VNCの接続先をサーバー自身からの接続に限定します。

/opt/TurboVNC/bin/vncserver :1 -localhost

Mac側ではSSHのローカルポート転送を開きます。devuserはサーバーのログインユーザー、server.example.comは接続先、5901はこの例の転送用ポートです。実際の環境の値に置き換えます。

ssh -N -o ExitOnForwardFailure=yes \
  -L 127.0.0.1:5901:127.0.0.1:5901 \
  devuser@server.example.com

SSH接続を維持したまま、MacのTurboVNC Viewerで127.0.0.1::5901へ接続します。二重コロンの後ろはTCPポートを直接指定しています。Mac自身のローカルポートから、SSHを通じてサーバーのVNCへ到達する構成です。TurboVNCの公式ガイドにもSSHトンネルとローカル接続の説明があります。

アプリケーションをGPUで起動する

接続したVNCデスクトップ内のターミナルから、VirtualGLを介して起動します。your-opengl-appは対象アプリケーションの実行コマンドを表す例示名です。

/opt/VirtualGL/bin/vglrun your-opengl-app

まず公式ガイドの診断方法でGPUの利用を確認し、その後に対象アプリケーションを試します。画面が出ることとGPUで描画できることは別なので、レンダラー情報も確認します。

遅い・映らないときの切り分け

  • GPUドライバー、GLX/EGLの選択、ユーザーのGPUアクセス権。
  • VNCデスクトップの起動ログと、選択したデスクトップ環境の対応。
  • SSHの転送ポートの競合、VNCのディスプレイ番号。
  • アプリケーション固有のOpenGL要件。
  • 回線遅延・帯域、画面解像度、転送画質。

描画速度と操作時の応答性は別の指標です。GPUを使っても通信遅延は残るため、実際のモデル・解像度・回線で評価してください。

関連記事

カテゴリー
アーカイブ

導入・開発のご相談

検査の自動化、品質予測、工程条件の最適化。
課題の整理からご相談ください。

お問い合わせ