NVIDIA グラフィックス カード用のオープン ドライバーである NVK は、Vulkan 1.0 をサポートします。

グラフィックス標準を開発する Khronos コンソーシアムは、NVIDIA ビデオ カード用のオープン NVK ドライバーと Vulkan 1.0 仕様との完全な互換性を認めました。 このドライバーは CTS (Kronos Conformance Test Suite) のすべてのテストに合格しており、認定ドライバーのリストに含まれています。 Turing マイクロアーキテクチャに基づく NVIDIA GPU (TITAN RTX、GeForce RTX 2060/2070/2080、GeForce GTX 1660、Quadro RTX 3000-8000、Quadro T1000/T2000) の認定が完了しました。 テストは、Linux カーネル 6.5、X.Org X Server 1.20.14、XWayland 22.1.9、および GNOME Shell 44.4 を備えた環境で実行されました。 証明書を取得すると、グラフィックス標準との互換性を正式に宣言し、関連するクロノス商標を使用できるようになります。

NVK ドライバーは、Karol Herbst (Red Hat の Nouveau 開発者)、David Airlie (Red Hat の DRM メンテナ)、Jason Ekstorm (Collabora の現役 Mesa 開発者) を含むチームによって最初から構築されました。 ドライバーを作成する際、開発者は公式ヘッダー ファイルと NVIDIA が公開したオープン カーネル モジュールを使用しました。 NVK コードは、いくつかの場所で Nouveau OpenGL ドライバーの基本コンポーネントを使用していましたが、NVIDIA ヘッダー ファイル内の名前と Nouveau でリバース エンジニアリングされた名前の違いにより、コードを直接借用することは困難であり、ほとんどの場合、多くのことを最初から考え直して実装する必要がありました。

開発は、他のドライバーを作成するときにそのコードを借用できる、Mesa 用の新しいリファレンス Vulkan ドライバーを作成することを目的として行われました。 これを実現するために、NVK ドライバーの開発時に、Vulkan ドライバーの開発における既存の経験をすべて考慮し、コード ベースを最適な形式で維持し、他の Vulkan ドライバーからのコードの転送を最小限に抑えるよう努めました。最適かつ高品質な作業を実現し、他のドライバーのやり方を盲目的にコピーすることはありません。 このドライバーはすでに Mesa に含まれており、Nouveau DRM ドライバー API に対する必要な変更は Linux 6.6 カーネルに含まれています。

Mesa 氏は、発表の変更点の中で、Rust 言語で書かれた NVK 用の新しいバックエンド コンパイラの採用と、Kronos テキストの通過を妨げていた古いコンパイラの問題の解決、およびコンパイラの根本的な制限のいくつかの除去にも言及しています。このアーキテクチャは、古いコンパイラを完全に作り直さなければ修正できませんでした。 将来の計画の中には、Maxwell マイクロアーキテクチャに基づく GPU サポートの追加と、新しいバックエンドでの Vulkan 1.3 API の完全サポートの実装が記載されています。

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

コメントを追加します