2010/07/27

RemoteFX を RD セッション ホストで試した

前回、「RemoteFX の機能の一部は、リモート デスクトップ セッション ホストの役割でもサポートされるようです」と書きましたが、その続報。リモート デスクトップ セッション ホストにおける RemoteFX の機能は、Hyper-V 仮想マシンの RemoteFX 3D ビデオ アダプターと RDP 7.1 の組み合わせとはちょっとというか、かなり違います。
現時点で調べた限りでまとめると、こんな感じ。


・ RemoteFX の機能は、リモート デスクトップ セッション ホストの役割に含まれる。
・ リモート デスクトップ セッション ホストで RemoteFX を利用するために、サーバー側の GPU、Hyper-V の役割、リモート デスクトップ仮想化ホスト (RemoteFX コンポーネント) はすべて "不要"。
・ ハードウェアの必須要件は、 リモート デスクトップ セッション ホストの役割を実行するサーバーのプロセッサが SSE2 (Streaming SIMD Extensions2)をサポートしていることのみ。(最近のプロセッサならほとんどに搭載されているはず。Intel なら Pentium 4 以降)
・ サーバーのソフトウェア要件は、Windows Server 2008 R2 SP1。
・ クライアントはリッチ クライアントからシン クライアントまで広範囲にサポート。ソフトウェア要件はRDP 7.1 対応のリモート デスクトップ接続クライアント (Mstsc.exe) のみ。Windows 7 SP1 Beta は RDP 7.1 に対応。将来的には、Windows Vista SP2 や Windows XP SP3 向けにも提供される予定 (たぶん)。
・ RemoteFX USB リダイレクトの機能は含まれない。

リモート デスクトップ セッション ホストにおける RemoteFX は、RDP 7.1 に統合された、リッチ コンテンツ向けの最適化機能、帯域を節約する圧縮機能という感じです。以下は、Microsoft RemoteFX (http://technet.microsoft.com/en-us/library/ff817578(WS.10).aspx) からの抜粋。

RemoteFX for Remote Desktop Session Host
RemoteFX enables the RD Session Host server to be accessed from the same wide range of client computers that are available in the VDI scenario. It also ensures usage of lower bandwidth compared to Windows Server 2008 R2 when remoting rich graphics applications.

! Note 
A GPU is not required when using RemoteFX for Remote Desktop Session Host.





リモート デスクトップ セッション ホストでの RemoteFX の有効化手順は、Deploying Microsoft RemoteFX on a Remote Desktop Session Host Server Step-by-Step Guide
(http://technet.microsoft.com/en-us/library/ff817595(WS.10).aspx)
によると、サーバーに以下のレジストリ値を作成するだけのようです。

キー名: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Terminal Services
値の名前: fAllowRemoteFxCompression 
データ型: DWORD (32ビット)
値のデータ: 1

ですが、私の環境では、RemoteFX を有効 (fAllowRemoteFxCompression を 1) にすると Aero グラス (デスクトップ コンポジション) が無効になるという状態になりました。これでは、RemoteFX が動いているのか、効果があるのか、いまいち不明です。これが正しい動作なのかどうかもわかりません (たとえば、圧縮効率を高めるために Aero グラスを無効にしているとか)。


ドキュメントでは触れられていませんが、グループ ポリシーには RemoteFX 関連のポリシーが 2 つ追加されていることを確認しました。



コンピューターの構成\管理用テンプレート\Windows コンポーネント\リモート デスクトップ サービス\リモート デスクトップ セッション ホスト\リモート セッション環境\
・ RemoteFX を構成する: RemoteFX の有効化、無効化 (ポリシー未構成の場合、RemoteFX は有効)
・ RemoteFX を使用するときに、接続のエクスペリエンス インデックスを設定する: 画面のキャプチャ比率と画像の圧縮を最大、中間、最大で設定 (ポリシー未構成の場合、いずれも中間)


やはり、リモート デスクトップ セッション ホストにおける RemoteFXは、リッチ コンテンツの圧縮による帯域幅の削減が主な機能のようです。動作や効果を確認する良い方法があればよいのですが、ここのページによると「This documentation is preliminary and subject to change (2010/7/7 時点)」となっているので、今後の追加の情報に期待したいと思います。

ちなみに、パフォーマンス カウンターの Terminal Services Session のオブジェクトを RemoteFX 有効、無効で比較してみると、Output Compression Ratio (サーバー出力データ ストリームの圧縮率) の値が RemoteFX 有効時に増加することを確認しました (Windows Media Player での動画再生時)。

5 件のコメント:

terje さんのコメント...

非常に有用な記事ですが、一点ご教授願えると助かります。windows server 2012のRDセッションホストではいかがでしょうか?
同様に設定したのですが、RemoteFX の有効化までたどり着くことができませんでした。

山市 良 さんのコメント...

Windows Server 2008 R2 SP1までの RemoteFX とは、RemoteFX 3D ビデオの機能とRemoteFX USB デバイスリダイレクト (RD 仮想化ホスト+GPUが必要)、圧縮技術 (RD セッションホストと RD 仮想化ホストの両方) です。Windows Server 2012 以降は RemoteFX の概念が変わり、RDP 8が提供するエクスペリエンス機能 (RemoteFX マルチタッチ、RemoteFX アダプティブグラフィックス、RemoteFX for WAN、RemoteFX 3D ビデオ、RemoteFX USB リダイレクトなど) のすべてを指すようになりました。このうち、RemoteFX 3D ビデオの機能は RD 仮想化ホストとGPUが必要で、Windows 7 SP1 Enterprise/Ultimate、Windows 8 Enterprise、Windows 8.1 Enterprise の VDI 仮想デスクトップのみで使用できます。RemoteFX USB デバイスリダイレクトは、Windows Server 2012 以降の RD セッションホスト、RDP 8以降のWindows 7 SP1 Enterprise/Ultimate、Windows 8 Enterprise、Windows 8.1 Enterprise で利用可能です (物理、仮想、GPUは問いません)。それ以外のRemoteFXは、セッションホストとVDIの両方で利用できます。

山市 良 さんのコメント...

この投稿は、Windows Server 2008 R2 SP1 Beta 版 (開発中のもの、つまり RemoteFX 正式登場前) に基づいた、非常に古い内容を含みます。あまり参考にしないでください。

terje さんのコメント...

ご回答ありがとうございます。もう少し踏み込んで質問させてください。GPUありの物理サーバで、RemoteFX 3D ビデオの機能を利用したいのですが、RD セッションホストでは動作しないでしょうか?
このときのOSがwindows server 2012 DataCenterEditionになります。
やはりVDI仮想デスクトップでないと動かないでしょうか?

山市 良 さんのコメント...

RemoteFX 3D ビデオ(RemoteFX vGPU)の機能は、GPUを搭載したRD仮想化ホストが、VDIの仮想デスクトップ(Hyper-V仮想マシン)にRemoteFX 3Dビデオアダプターを提供することで実現される機能です。RDセッションホストで利用可能な機能ではありません。