NVIDIA グラフィックス カード用のオープンソース Vulkan ドライバーである NVK が発表されました

Collabora は、NVIDIA ビデオ カード用の Vulkan グラフィックス API を実装する Mesa 用の新しいオープンソース ドライバーである NVK を導入しました。 ドライバーは、NVIDIA が公開した公式ヘッダー ファイルとオープン ソース カーネル モジュールを使用して、最初から作成されます。 ドライバー コードは MIT ライセンスに基づいてオープンソース化されています。 このドライバーは現在、2018 年 XNUMX 月以降にリリースされた Turing および Ampere マイクロアーキテクチャに基づく GPU のみをサポートしています。

このプロジェクトは、Red Hat の Nouveau 開発者である Karol Herbst 氏、Red Hat の DRM メンテナである David Airlie 氏、Collabora の現役 Mesa 開発者である Jason Ekstorm 氏を含むチームによって開発されています。 新しいドライバーを開発する場合、Nouveau OpenGL ドライバーの基本コンポーネントが使用される箇所もありますが、NVIDIA ヘッダー ファイル内の名前と、リバース エンジニアリングに基づいて取得された Nouveau での名前が異なるため、ドライバーの基本コンポーネントを直接借用します。コードは難しく、ほとんどの場合、多くのことを再考してゼロから実装する必要がありました。

Mesa 用の新しいリファレンス Vulkan ドライバーの作成も視野に入れて開発が行われており、他のドライバーを作成するときにそのコードを借用できます。 これを実現するために、NVK はドライバーの開発に取り組む際に、Vulkan ドライバーの開発における既存の経験をすべて考慮し、コード ベースを最適な形で維持し、他の Vulkan ドライバーからのコードの転送を最小限に抑え、最適化を実現するよう努めました。そして、他のドライバーで行われた方法を盲目的にコピーすることはなく、高品質の作業を行います。

NVK ドライバーは開発されてからまだ数か月しか経っていないため、機能が制限されています。 ドライバーは、Vulkan CTS (互換性テスト スイート) からのテストの 98% を実行すると、テストの 10% に正常に合格します。 一般に、ドライバーの準備状況は、ANV ドライバーおよび RADV ドライバーの機能の 20 ~ 25% であると推定されます。 ハードウェアのサポートに関しては、ドライバーは現在、Turing および Ampere マイクロアーキテクチャに基づくカードに限定されています。 Kepler、Maxwell、Pascal GPU をサポートするパッチの開発が進められていますが、まだ準備が整っていません。

長期的には、NVIDIA グラフィックス カード用の NVK ドライバーは、AMD カード用の RADV ドライバーと同様のレベルの品質と機能を達成すると期待されています。 NVK ドライバーの準備が完了すると、その開発中に作成された共通ライブラリを使用して、NVIDIA ビデオ カード用の Nouveau OpenGL ドライバーを改善できます。 Zink プロジェクトを使用して、Vulkan API へのブロードキャスト呼び出しを通じて動作する、NVIDIA ビデオ カード用の本格的な OpenGL ドライバーを実装する可能性も検討されています。

出所: オープンネット.ru

コメントを追加します