WSLは、21H1ビルドのLinuxでDirectXサポートを取得します
Microsoftは、WSL2環境で実行されているLinuxディストリビューションにDirectXサポートを追加しています。 この変更は、Fast RingのIron(Fe)ブランチからの最初の21H1ビルドで公開されます。これは、今年6月に予定されています。
広告
マイクロソフトは 紹介 Windows Display Driver Modelバージョン2.9、WDDMv2.9。これにより、GPUアクセラレーションがWSL2にもたらされます。 それを可能にするために、WSL側には特別なLinuxカーネルモジュールがあります。 dxgkrnl
.
dxgkrnl
Dxgkrnlは、Linux用の新しいカーネルドライバーであり、 /dev/dxg デバイスからユーザーモードへのLinux。 /dev/dxg Windows上のネイティブWDDMD3DKMTカーネルサービスレイヤーを厳密に模倣するIOCTLのセットを公開します。 Linuxカーネル内のDxgkrnlは、VMバスを介してWindowsホスト上の兄貴に接続し、このVMバス接続を使用して物理GPUと通信します。
ホストに複数のGPUがある場合、すべてのGPUが投影され、Linux環境で使用できます(これらのGPUがすべてWDDMv2.9ドライバーを実行していると仮定します)。
Microsoftは、アーキテクチャがWSLアプリとGPUリソースのパフォーマンスを制限または妨害しないと主張しています LinuxGUIと一緒に実行されているWindowsアプリとを利用するコンソールアプリ間で適切に共有されます DirectX。
DxgkrnlLinuxエディションはオープンソースになっています。
Linux上のDxCoreとD3D12
このプロジェクトは、完全なD3D12 APIをLinuxに模倣せずにもたらします。ibd3d12.soは、Windows上のd3d12.dllと同じソースコードからコンパイルされますが、Linuxターゲット用です。 同じレベルの機能とパフォーマンスを提供します(仮想化のオーバーヘッドを差し引いたもの)。 唯一の例外はPresent()です。 WSLは現在コンソールのみのエクスペリエンスであるため、現在WSLとのプレゼンテーションの統合はありません。 D3D12 APIはオフスクリーンレンダリングとコンピューティングに使用できますが、ピクセルを画面に直接コピーするためのスワップチェーンサポートはありません。
DxCore(libdxcore.so)は、dxgiの簡略化されたバージョンであり、APIのレガシーな側面が最新のバージョンに置き換えられています。 DxCoreは、WindowsとLinuxの両方で使用できます。 DxCoreは、Windows上のWDDMベースのドライバーがGPUと通信するために使用するD3DKMTAPIのフラットバージョンをホストするためにも使用されます。 このAPIは、さまざまなWDDMサービスがカーネルに到達する方法の違いを抽象化します(WindowsのサービステーブルとLinuxのIOCTL)。
libd3d12.soとlibdxcore.soは、Windowsの一部として出荷される、クローズドソースのプリコンパイル済みユーザーモードバイナリです。 これらのバイナリはglibcベースのディストリビューションと互換性があり、自動的に下にマウントされます。 /usr/lib/wsl/lib ローダーに見えるようにしました。 つまり、これらのAPIは、追加のパッケージをインストールしたり、ディストリビューションの構成を微調整したりすることなく、箱から出してすぐに機能します。 現在、サポートは、Ubuntu、Debian、Fedora、Centos、SUSEなどを含むglibcベースのディストリビューションに限定されています。
D3D12は、GPUメーカーパートナーが提供するGPU固有のユーザーモードドライバー(UMD)なしでは動作できません。 UMDは、シェーダーをハードウェア固有のバイトコードにコンパイルしたり、 APIレンダリングリクエストをコマンドバッファ内の実際のGPU命令に変換し、 GPU。 ホストドライバーパッケージは、WSL内の/ usr / lib / wsl / driversにマウントされ、d3d12APIに直接アクセスできます。 ここでも、WDDM2.9ドライバーが必要です。
Microsoftは、Mesaライブラリを介してWSLでOpenGL、OpenCL、およびVulkanのGPUアクセラレーションを実現することにも取り組んでいます。
DxCore、D3D12、のサポート DirectMLとNVIDIACUDA に来ています Windows Insider すぐに高速ビルド。 ファストリングは現在 マンガン(Mn) OSブランチ。 ファストリングは新しいものに切り替わると予想されます 鉄(Fe)ブランチ
この新機能をインサイダーに公開する6月の後半に向けて。