前回まで、Windows Server Technical Previewの「Hyper-V」の新機能を説明してきました。間もなく新しいプレビューが公開される予定なので、Hyper-Vはひとまず終わりにして、今回からは「リモートデスクトップサービス」の新機能を見ていきます。
最初に、Windows Serverにおける「リモートデスクトップサービス(Remote Desktop Services:RDS)」の歴史を簡単に振り返っておきましょう。
RDSの起源は1998年にリリースされた「Windows NT Server 4.0,Terminal Server Edition」であり、Windows 2000 Serverからは「ターミナルサービス(Terminal Services:TS)」という名称でOSの標準機能として統合されました。ターミナルサービスは、複数のユーザーが「リモートデスクトッププロトコル(Remote Desktop Protocol:RDP)」を使用して1台のサーバーにリモート接続し、複数のユーザーセッションで同時利用するというものです。
Windows Server 2008 R2では「仮想デスクトップインフラストラクチャ(Virtual Desktop Infrastructure:VDI)」の機能が追加され、TSからRDSに名称が変更されました。さらに、Windows Server 2008 R2 Service Pack(SP)1では、VDI環境に「RemoteFX仮想GPU(RemoteFX vGPU)」の機能が追加されました。
そして、Windows Server 2012では「セッションベース」(従来のターミナルサーバー形式)と「仮想マシンベース」(VDI)の仮想デスクトップをウィザードで簡単に展開できるようになり、それまで別々だった管理ツールと管理機能が「サーバーマネージャー」に統合されました。また、「RemoteApp」プログラムの公開や、仮想デスクトップの自動プロビジョニングなども簡単に行えるように改善されました。
ここで、以下の画面1と画面2を見比べてみてください。画面1は、Windows Server 2012 R2のRDSの管理コンソールです。画面2は、Windows Server Technical Previewの管理コンソールになります。日本語/英語という表示言語以外は、これといった違いは見つかりません。実際、Windows Server Technical Previewでセッションベースと仮想マシンベースの両方を展開してみましたが、Windows Server 2012 R2との違いは発見できませんでした。
もちろん、「リモートデスクトップ(RD)セッションホスト」で提供されるセッションベースの仮想デスクトップは異なります。Windows Server 2012 R2のRDセッションホストは複数のユーザーにWindows 8.1 Enterprise相当のデスクトップ環境を提供しますが、Windows Server Technical PreviewのRDセッションホストは、Windows 10 Technical Preview Enterprise(ビルド9841)相当のデスクトップ環境を提供します。また、仮想マシンベースのVDI環境において、Windows 10 Technical Preview Enterpriseの仮想デスクトップを展開できる点も違います。
RDSの機能的な違いは、2014年10月公開のWindows Server Technical Previewの時点では“ない”ようです。現時点で明らかになっている変更点や新機能は、以下のサイトで公開されているものですが、新機能がこれだけということはないでしょう。今後のプレビュー版の提供に合わせて、新機能が追加されていくものと予想しています。
現時点では、大きく次の2点について機能強化および追加されることが決まっており、2014年10月公開のWindows Server Technical Previewで評価することができます。
「MultiPoint Services」の役割については、次回以降に説明します。今回は、「RemoteFX仮想GPU」の変更点に注目します。とはいっても、「Hyper-Vマネージャー」のGUIを見る限り、違いはありません(画面3)。サポートする最大モニター数と最大解像度は同じです。
「RemoteFX仮想GPU」は、Windows Server 2008 R2 SP1で初めて提供された、VDI仮想デスクトップに対するリモートデスクトップ接続における画面表示を強化するGPU(Graphics Processing Unit)デバイスの仮想化機能です。
Windows Server 2012のRDSおよび「リモートデスクトッププトロコル(RDP)8.0」から「RemoteFX」は、“リモートデスクトップ接続のユーザーエクスペリエンス機能の総称”になりました。
ですが、今でもRemoteFXといえば、RemoteFX仮想GPUのことを示す意味で使うこともあります。例えば、マイクロソフトは現在、Android、iOS、Windows Phoneのモバイルデバイス、およびMac向けに「Microsoft Remote Desktop」アプリを無償提供していますが、これらのアプリの特長の一つであるRemoteFX対応とは、主にRemoteFX仮想GPU対応のことを指しています。
RemoteFX仮想GPUを利用するには、「Hyper-V」の役割および「リモートデスクトップ(RD)仮想化ホスト」の役割を実行するサーバーと、そのサーバーにインストールされたRemoteFX対応の物理的なグラフィックスカードが必要です。Hyper-VでRemoteFX仮想GPUを有効にすると、仮想マシンに対して「RemoteFX 3Dビデオアダプター」を割り当てられるようになります。なお、仮想デスクトップはWindows 7 SP1以降のEnterpriseエディションを実行している必要があります。
RemoteFX 3Dビデオアダプターは、リモートデスクトップ接続の画面表示に対して、GPUとビデオメモリを使用したグラフックス機能を提供します。つまり、クライアント側のグラフィックス機能ではなく、サーバー側のGPUを使用してSilverlightやFlash、DirectX 3Dといったグラフィックスアプリケーションの表示をレンダリングし、描画結果だけをクライアントに表示するのです。
RemoteFX仮想GPUが機能しているかどうかは、リモートデスクトップ接続で接続中の仮想マシンで「DirectX診断ツール(Dxdiag.exe)」を実行することで確認できます。
通常のリモートデスクトップ接続では、仮想マシンのビデオデバイス(Microsoft Hyper-Vビデオ)ではなく、「RDPUDD Chained DD」というリモートデスクトップ接続用のデバイスドライバーが使用され、GPUやビデオメモリは利用できず、DirectX機能は制限されます(画面4)。
一方、RemoteFX仮想GPUが利用可能な場合、つまり、RemoteFX 3Dビデオアダプターが割り当てられた仮想マシンには、ディスプレイアダプターとして「Microsoft RemoteFXグラフィックスデバイス - WDDM」が認識されます。このデバイスはリモートデスクトップ接続の表示に使用され、GPU(Microsoft RemoteFX Graphics Adapter)、ビデオメモリ(専用および共有)、およびDirectXの全ての機能が利用できます。
次の画面6は、RemoteFX仮想GPUが利用可能なリモートデスクトップ接続で、「Google Earth」をDirectXモードで実行したところです。Windows Sysinternalsの「Process Explorer」で確認すると、Google Earthの描画にGPUとメモリが利用されていることが分かります。
次の画面7は、Windows Server Technical PreviewのHyper-VおよびRD仮想化ホスト上で実行中の、Windows 10 Technical Previewビルド9926のVDI仮想デスクトップに対してリモートデスクトップ接続したものです。DirectX診断ツールの結果を見ると、ビデオメモリ(メモリの合計)のサイズが大きくなっている点を除けば(詳細は後述)、DirectXの機能に違いはないようです。
なお、Windows 10 Technical Previewに搭載されているDirectXのバージョンは、ビルド9879以前が「DirectX 11」、ビルド9926からは「DirectX 12」でした。RemoteFX仮想GPUでDirectX 12がサポートされるかどうかは、現時点では何も情報はありません。筆者の環境はサーバー側のグラフィックスカードがDirectX 11.0対応のものなので、Technical Preview時点での対応状況を確認することはできませんでした。ちなみに、現行バージョンのRemoteFX仮想GPUは、グラフィックスカードがDirectX 11.1に対応しており、Windows 8.1ゲストを実行している場合、DirectX 11.1をサポートします。
Windows Server Technical Previewの時点で明らかになっているRemoteFX仮想GPUの新機能は、DirectXだけではなく、「OpenGL 4.4」および「OpenCL 1.1」のAPIがサポートされることです。
次の画面8は、RemoteFX仮想GPUを利用可能なリモートデスクトップ接続のセッションで、フリーのOpenGLテストツール「OpenGL Extensions Viewer」(以下、GLView)を実行したものです。OpenGLのバージョンは「4.4」と検出されました。詳細を参照すると、OpenGL 4.4までの拡張機能に完全に対応していることが分かります。
なお、GLViewはWindows 10 Technical Previewの新しいビルドと互換性に問題があったため、最新ビルドではなく、古いビルド9860を使用して確認しました。
現行バージョンのRemoteFX仮想GPUの環境でGLViewを実行すると、OpenGLのバージョンは「1.1」と検出されます。ただし、現行バージョンのRemoteFX仮想GPUでは、OpenGL 1.1を含め、OpenGLおよびOpenCL APIをサポートしていません(画面9)。
Copyright © ITmedia, Inc. All Rights Reserved.