マイクロソフトは発表しました 数日前 WSL2ベースの環境でLinuxベースのGUIアプリケーションを実行する機能のテストの開始 (Linux用のWindowsサブシステム)。
アプリケーションは完全に統合されています スタートメニューへのショートカットの配置、サウンドの再生、マイクからの録音、OpenGLハードウェアアクセラレーション、タスクバーでのプログラムに関する情報の表示、Alt-Tabを使用したプログラムの切り替え、WindowsとLinux間のデータのコピーのサポートを含むメインのWindowsデスクトップクリップボードを介してプログラム。
Linuxアプリケーションインターフェイスの出力をメインのWindowsデスクトップに整理するには、 RAIL-Shell複合マネージャーが使用されます マイクロソフトによって開発された、 Waylandプロトコルを使用し、Westonコードベースに基づいています。
レンダリングは、ローカルで統合されたRDPリモートアプリケーション(ローカルで統合されたRDPリモートアプリケーション)バックエンドを使用して実行されます。これは、複合マネージャーがデスクトップ自体をレンダリングせず、代わりに個々のサーフェスをリダイレクトするという点で、以前Westonから利用可能だったRDPバックエンドとは異なります( wl_surface)RDP RAILチャネルを介して、メインのWindowsデスクトップに表示します。 XWaylandは、X11アプリケーションを実行するために使用されます。
サウンド出力はPulseAudioサーバーによって編成されます。 これは、RDPプロトコルを使用してWindowsとも対話します(rdp-sinkプラグインはサウンド出力に使用され、rdp-sourceは入力に使用されます)。
Composite Server、XWayland、PulseAudioは、ユニバーサルミニディストリビューションWSLGdの形式でパッケージ化されています。これには、グラフィックスとサウンドサブシステムを抽象化するためのコンポーネントが含まれており、Microsoftクラウドインフラストラクチャでも使用されているCBL-MarinerLinuxディストリビューションに基づいています。 。 WSLGdは仮想化メカニズムの使用を開始し、virtio-fsはLinuxゲストとWindowsホスト間の共有に使用されます。
FreeRDPは、WSLGd Linux環境で起動されるRDPサーバーとして使用され、mstscはWindows側でRDPクライアントとして機能します。 WSLDVCPluginドライバーは、使用可能なグラフィカルLinuxアプリケーションを識別し、それらをWindowsメニューに表示するために用意されています。 Ubuntu、Debian、CenOSなどのWSL2環境にインストールされている一般的なLinuxディストリビューションでは、WSLGdコンポーネントのセットは、Wayland、X11、PulseAudioからの要求を処理するソケットを提供することによって相互作用します。
仮想GPUは、/ dev / dxgデバイスを使用してLinuxに実装されます WindowsカーネルのWindowsDisplay Driver Model(WDDM)D3DKMTを模倣するサービスを使用します。
コントローラは、VMバスを介して物理GPUへの接続を整理します。さらに、Linuxアプリケーションは、WindowsとLinuxの間でリソース共有を強制することなく、ネイティブWindowsアプリケーションと同じレベルのGPUアクセスを持ちます。
IntelGPUを搭載したSurfaceBook Gen3デバイスでのパフォーマンステストでは、ネイティブWin32環境では、Geeks3DGpuTestベンチマークが19FPSを示し、Linux環境ではvGPU-18 FPS、ソフトウェアレンダリングはMesa-1FPSであることが示されました。
WSLGdのインストール 少なくともバージョン10のWindows21362 InsiderPreviewが必要です。 たとえ e将来的には、WSLGdをインストールする機能が通常のエディションで提供される予定です。 インサイダープレビュープログラムに参加する必要のないWindows。
WSLGdは、2Dグラフィックスをレンダリングするためのメカニズムのみを提供し、WSL3にインストールされたディストリビューションでOpenGLベースの2Dグラフィックスを高速化するために、仮想GPU(vGPU)を使用することが提案されています。
グラフィックアクセラレーションは、DirectX 12を介したOpenGLの実装をレイヤーに提供することで提供されます。レイヤーは、Mesa 3の主要部分に含まれ、Collaboraと共同で開発されているd12d21.0ドライバーの形式で設計されています。
WSLGdのインストールは、典型的なコマンド「wsl –install」を実行することによって実行されます。たとえば、Ubuntuの場合は「wsl–install-dUbuntu」です。
既存のWSL2環境の場合、WSLGdは「wsl–update」コマンドを使用してインストールされます(Linuxカーネルを使用するWSL2環境のみがサポートされており、コールトランスレーションはサポートされていません)。 グラフィカルアプリケーションは、配布キットの通常のパッケージマネージャーを介してインストールされます。
出典 https://devblogs.microsoft.com/
どうやらLinuxは特定の人々や企業にとって非常に不快です。 私の見るところ、要点はLinuxを邪魔にならないようにすることです。