コンシュマーグレードのGPUを使う

  HP Anyware (CAS) コメントはまだありません

Graphics Agentに対応したGPUはQuadroやTeslaなどのプロフェッショナルGPUに分類されている製品です。

基本的には、GeforceやローエンドのQuadro製品には対応していません。

なぜ対応していないのでしょうか?

Graphics Agentは、NVIDA Capture SDKを使用して画面をキャプチャしているため、SDKに対応していない製品に関しては動作保証をしていません。

以下がNVIDIA Capture SDKの対応ハードウェアに関する記述です。

Capture SDK can be only used on GRID, Tesla, or Quadro X2000+(X=K/M/P/RTX etc)jardware products. Other configurations are not permited under the end user license agreement terms and confitions.

NVIDIA Capture SDK 7.1.1 Release noteより

そしてこちらが、Graphics AgentのSystem Requirementsに掲載されているGPUリスト(一部抜粋)です。

InstanceGPU
VMware ESXi
or KVM
GPUs as listed in NVIDIA’s GRID release notes.
Physical PC・Tesla (any)
・Quadro (2000+)

Consumer-grade cards
・GeForce RTX 2080
・GeForce RTX 3070
・GeForce RTX 3080
・GeForce GTX 1080
・GeForce GTX 1050
・GeForce GTX 660
・Quadro 2000
・Quadro P650
Additional cards are expected to work, but have not been tested.

ごらんのように、CaptureSDKの対応ハードウェアとGraphics AgentのSystem Requirementsは同じということが分かると思います。

NVIIDIA SDKの方がちょっぴり親切に書いてありますが、書かれていることは同じです。ちなみのこのSDKのRelease noteの新しいやつ(8番台)が見つからなかったので、ちょっと古い7.1.1の物から引用していますが、最新の8.0.8ではA5000などのAmpereシリーズにも対応しています。

お気づきだと思いますが、TeradiciのSystem Requirementsの中にはGeforceが入っています。

ただし、よく見ると注意書きがあり、「いろいろな問題が発生するのでKB見てね」という注意分が添えられています。

前置きが長くなりましたが、コンシュマーグレード、特にGeforceを使ったリモートアクセスについて、発生する問題と対処方法を説明していきたいと思います。

原文はこちらの「Teradici Cloud Access Software Instructions for Consumer Grade NVIDIA GPUs (e.g. GeForce RTX 2080)」になります.

Linux用のNVIDIAドライバーはCaptureAPIをサポートしていますが、Graphics Agent for LinuxはコンシュマーグレードのGPUをサポートしていません。

発生する問題

Geforceを使った接続を行うと以下の様な問題が発生します。

リモートの解像度がローカル(Agentの入っているPC)に接続されているモニタの解像度以上にならない。

よくあるパターンとして、社内で使用しているPCにAgentをインストールし、そのまま自宅からリモートアクセスする使い方がありますが、この場合社内で接続しているモニタのトポロジがリモートの解像度に影響をします。

例えば、会社で使用しているモニタが1920x1080のモニタを使っていて、自宅では4Kのモニタを使用しているとします。その場合、自宅では1920x1080以上の解像度は表示されません。

これを回避するるには、以下の方法があります。

  1. 会社と自宅のモニタの構成を同じにする
  2. 仮想モニタードングル(EDIDエミュレーター)を使用する。

1の場合は、全く同じモニタを使う必要はありませんが解像度は合わせておいた方が良いです。

2の場合は、社内で使用する場合もリモートアクセスで使用しないといけないので多少面倒になりますが、もともとサーバールームやデーターセンターにPCを管理して、リモートアクセスをしていた場合は特に問題無いと思います。

モニターはEDIDというデーターを持っておりこの中にメーカー名、モデル名、解像度、リフレッシュレートなどの情報が含まれています。GPUはこれらを読み込み自身の表示解像度やリフレッシュレートと比較し、対応可能な解像度で表示します。

仮想モニタードングルは、これらのモニターのEDIDと同じデーターを保持しており、GPU側にモニタが接続されているというように認識させます。

一般的に4Kあたりまでの解像度が表示可能で、HDMI、DP、DVIのものなどがあります。

ほとんどの場合が、どこかのメーカーのEDIDを抜き取ってコピーした物が市場に出回っています。

HDMIタイプの仮想モニタドングルの例

ローカルに接続してるモニタがブラックアウトしたまま何も表示されない。

これはGeforceに限ったことではないのですが、例えば、ローカルモニタを2面、リモートが1面などのように、モニタのトポロジを合わせないで使用していると、ローカルモニタのうち片方がブラックアウトすることがあります。

以前は直すのがそこそこ面倒だったのですが、今では事前のGPOの設定をしておけば問題は発生しません。

GPOで「Configuraton restoration of locally connected displays」を有効にします。

これを有効にすると、リモート接続する前のEDID情報を保存し、セッションが切断するときにリストアしてくれます。

おかしくなってからこれを有効にしてもおかしな物が保存されるだけですので、必ず一番最初に有効にしてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です