前提・実現したいこと
◆前提
・Linux (CentOS7 or ubuntu 18.04) + Gnome Desktop
・PCIスロットにGeforce GTX 1050を搭載
・物理ディスプレイ無し
・上記Linux上でXRDP+TigerVNCを起動し、Windows端末からRDPにより操作する
上記LinuxにWindows PCからRDPでログインし、OpenGLで作成したアプリケーション(例えばglxgears)を起動します。
この時、GeforceによるGPUアクセラレーションを効かせたいのですが、やり方が分からず困っています。
もしかすると実現不可なのかもしれませんが、その判断も出来ていません。
物理ディスプレイを使用する場合は、期待通りGPUアクセラレーションが出来ているように見えます。
(nvidia-smiコマンドを実行すると、プロセス一覧に当該アプリのPIDとパスを表示します。)
一方、RDPによりログインして当該アプリを起動を起動した場合は、アプリ自体は起動しますが、nvidia-smiにプロセスが表示されません。
NVIDIAのドライバが作成する仮想ディスプレイとVNCが使うディスプレイの関連づけが出来れば上手くいくのでは?と想像していますが、手詰まりの状態です。
本トピックがプログラミングに関連するか怪しいところですが、よろしければ知恵をお貸しください。
発生している問題・エラーメッセージ
WindowsからRDPでLinuxにログインしglxgearsを起動した場合、glxgears自体は起動しますが、nvidia-smiの実行結果にglxgearsのプロセスが表示されず、GPUアクセラレーションが効いていないように見えます。
該当のソースコード
ありません。
試したこと
下記を試しましたが、解決には至りませんでした。
(1) allow-empty-initial-configurationを有効にしてXRPDのディスプレイ番号を変える
$ sudo nvidia-xconfig --enable-all-gpus --allow-empty-initial-configuration --use-display-device=None --virtual=1920x1080
Linuxで上記コマンドを実行後、Linuxを再起動する。(再起動時、/var/log/Xorg.0.logにエラーはありません)
↓
LinuxでXRDPのDisplay番号を0に変更する(sesman.iniのX11DisplayOffsetを0に変更する)
↓
XRDPを再起動する。
↓
WindowsからRDPで接続する。
RDPによるログインはできますが、Xvncのディスプレイ番号が1.0になります。
この状態で当該アプリを起動すると、アプリの起動はできますが、nvidia-smiのプロセス一覧にアプリは表示されません。
だだし、下記のようにDISPLAYを:0にすると、実行した画面にglxgearsのウィンドウは表示されませんが、nvidia-smiのプロセス一覧にアプリは表示されます。
$ DISPLAY=:0 glxgears $ nvidia-smi Xxx Xxx X XX:XX:XX XXXX +-----------------------------------------------------------------------------+ | NVIDIA-SMI 440.59 Driver Version: 440.59 CUDA Version: 10.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 1050 Off | 00000000:01:00.0 Off | 0 | | 35% 31C P8 N/A 75W | 29MiB / 2000MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1111 G /usr/bin/X 21Mib| | 0 1234 G /usr/bin/gnome-shell 4Mib| | 0 8888 G glxgears 2Mib|★ +-----------------------------------------------------------------------------+
(2) virtualGLをインストールして、vglrunコマンドでアプリを起動する
$ vglrun glxgears Error: couldn't get an RGB, Double-buffered visual
まず、glxgearsの起動が出来ません。
◆その他 参考にした情報
・https://7me.nobiki.com/2019/11/13/xorg-multiple-virtual-screen-with-nvidia-gpu/
補足情報(FW/ツールのバージョンなど)
"前提・実現したいこと"に記載した通りです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。