Collabora 宣布推出 NVK,這是 NVIDIA 的開源 Vulkan 驅動程序

NVK

NVK 是用於 NVIDIA 圖形硬件的新開源 Vulkan 驅動程序

幾天前 Collabora 亮相 通過博客發布新聞 NVK 驅動程序的集成,在 Mesa 項目的主分支中 並且它也將作為實驗驅動程序包含在 Mesa 23.3 版本中。

NVK, 是一個新的開放驅動程序,具有 Vulkan 圖形 API 的實現 適用於 NVIDIA 顯卡。 該驅動程序是由 Karol Herbst(紅帽的 Nouveau 開發人員)、David Airlie(紅帽的 DRM 子系統維護人員)和 Jason Ekstrand(Collabora 的活躍 Mesa 開發人員)組成的團隊創建的。

關於NVK的發展,提到了這一點 是為了為 Mesa 創建新的參考 Vulkan 驅動程序,創建其他控制器時可以藉用其代碼。

為此,當我們開發NVK 驅動程序時,我們會嘗試考慮Vulkan 驅動程序開發中的所有可用經驗,保持代碼庫處於最佳狀態,並通過做必須做的事情來最大程度地減少來自其他Vulkan 驅動程序的代碼傳輸。 以獲得最佳和高質量的工作,而不是盲目複製其他驅動程序的工作方式。

值得一提的是,即使控制器 NVK 包含在 Mesa 中,驅動程序開發仍在繼續,但並非所有所需功能都已實現。 該驅動程序與Vulkan 1.0 API兼容,但尚未通過所有兼容性測試,並且存在性能問題。 然而,一些遊戲已經可以使用新的驅動程序,即使使用 DXVK 層也是如此。

為了使控制器工作 有效地, 需要與 Nouveau DRM 驅動程序 API 擴展相關的 Linux 內核更改。 需要在內核級別更改 API 是因為 Nouveau DRM 驅動程序 API 最初是為了實現 OpenGL 而設計的,缺乏在 Mesa 上高效運行 Vulkan 驅動程序所需的原語。

特別是 應該添加管理虛擬地址空間的能力, 因為對象緩衝區和虛擬內存分配的操作在 Vulkan 中是分開的。 此外,向 Vulkan 發送命令需要使用同步對象。 目前,包含必要更改的補丁已推送給 Linux 內核 DRM 子系統(直接渲染管理器)的維護者,並且可能會包含在 6.6 內核中。

關於NVK驅動,提到了這個, 是從頭開始編寫的,因為 這樣做的目的是在創建控制器期間,開發人員 使用NVIDIA發布的官方頭文件和開放內核模塊。 在NVK代碼中,有些地方使用了Nouveau OpenGL驅動的基本組件,但由於Nouveau中NVIDIA頭文件名和逆向工程名稱的差異,直接借用代碼很困難,大部分我不得不重新思考很多事情並從頭開始實施。

該驅動程序目前僅支持基於 Turing 的 GPU(RTX 20XX 和 GTX 16XX)和較新的微架構(自 2018 年 600 月以來發布的卡)。 未來,他們計劃增加對 Kepler 系列 GPU(GeForce 700 和 XNUMX)的支持。

將來, 計劃將控制器的性能提高到適當的水平 並實現對 Vulkan 1.3 API 的支持。 從長遠來看,NVIDIA 顯卡的 NVK 驅動程序預計將達到與 AMD 顯卡的 RADV 驅動程序類似的質量和功能水平。

我們還考慮使用 Zink 項目為 NVIDIA 顯卡實現完整的 OpenGL 驅動程序,該驅動程序通過 Vulkan API 調用的轉換進行工作。

最後,如果你是 有興趣了解更多,您可以在中查看詳細信息 以下鏈接。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。