Windows Info

LinuxのGUIアプリケーションに対応するWSL2 (2/2)

文●塩田紳二 編集● ASCII

2021年01月17日 10時00分

前へ 1 2 次へ

WSL2におけるGUI表示

 WSL2のGraphics対応は「WSLG」と呼ばれており、大きくアプリからのGPU利用(GPUユーザーモードドライバーなど)と、Compositorの2つの仕組みが必要になる。

 先にGPUコンピューティングがプレビューされたことから、半分は完成している状態と言える。ただし、Microsoftの文書によれば、WSL2のGPUコンピューティングにはWDDM v2.9が必要だという。WDDMとは「Windows Device Driver Model」の略で、デバイスドライバーの仕様だ。現在一般配布されているWindows 10 Ver.2004、および20H2は、WDDM v2.7までしか対応していない。

 そこでGPUコンピューティングを利用するには、Windows 10の機能アップデートを待つ必要がある。GPUコンピューティングのプレビューが始まったのは、Windows Insider ProgramのDev Channelで配布されたBuild 20150から。内部では「Iron」と呼ばれている世代のWindows 10だ。おそらく、今年春の機能アップデートとなるWindows 10 Ver.21H1から導入されるのではないかと考えられる。

 しかし、もう一方のCompositor側は、まだプレビューも始まっていない。そろそろ21H1のプレビューがBeta Channelで開始されることを考えると、GUI対応は20H2以降になってしまうかもしれない。

 Microsoftは、現在WSL2側にGUI描画機能を持たせようとしている。しかしLinuxでは、X Window System(X11)やWaylandといった描画システムが一般的だ。かつてのLinuxのGUIは、すべてX11に対応していたが、最近ではWaylandを使うものが多い。また、Waylandは、X11(X Server)と互換性を持たせることが可能だ。このため、WSLGでは、このWayland(正確にはWaylandプロジェクトのリファレンス実装であるWeston)を用いる。

 このときにWin32側との連携には、Hyper-V同様「RDP」を使う予定だ。

Linux GUIアプリケーションには、X11サーバー(Xプロトコル)を利用するものと、Waylandに対応したものがある。最近のディストリビューションでは、Xサーバーを代行するXwayland経由でX対応アプリを動作させている。Microsoftは、Wayland(のリファレンス実装Weston)を改良し、RDPが持つリモートアプリケーション機能(RAIL)に対応させ、RDP経由でLinux GUIアプリケーションのウィンドウをWindowsデスクトップに表示することを計画している。オーディオサーバーが含まれているのは、リモートデスクトップなどと同じく、Linux GUIアプリで音声を扱うため

 RDPとは、「Remote Desktop Protocol」の略。つまり、ネットワークなどを介して、デスクトップやウィンドウをほかのマシンに表示する仕組みだ。これは、Hyper-VでもゲストOSのデスクトップ表示に利用されている。当初はデスクトップ全体を通信を経由して表示するものだったが、現在ではアプリケーションウィンドウだけをリモート側のデスクトップ内で動作させる仕組みが追加されている。

 これをMicrosoftは「RAIL」(Remote App Integrated Locally)と呼んでいる。RAILでは、ウィンドウが表示されるデスクトップ側の情報(モニターの数や解像度、解像度の変更など)をリモート側に伝達する仕組みがあり、リモート側のアプリがローカルアプリと同じように振る舞うことが可能だ。

 ローカル環境内とはいえ、RDP経由でGUIアプリケーションがちゃんとしたパフォーマンスで動作するのか? と疑問に思われるだろう。次回は、そのあたりを解説したい。

前へ 1 2 次へ

mobileASCII.jp TOPページへ

mobile ASCII

Access Rankingアクセスランキング