nvidia 開源驅動gpu虛擬化(為何NVidia的開源驅動程序對)
2023-09-15 05:14:27 1
nvidia 開源驅動gpu虛擬化?出品|開源中國譯|羅奇奇,接下來我們就來聊聊關於nvidia 開源驅動gpu虛擬化?以下內容大家不妨參考一二希望能幫到您!

nvidia 開源驅動gpu虛擬化
出品|開源中國
譯|羅奇奇
RedHat 桌面、圖形、信息娛樂和 i18n 總監 Christian F.K. Schaller 在
開源的驅動是什麼首先需要明確的是:NVIDIA 開源了 out of tree 原始碼內核驅動程序。這些驅動程序已經過測試,它在作為數據中心的 GPU 上支持 CUDA 用例,但尚未支持圖形顯示。儘管也有支持圖形顯示的代碼,但這些代碼還沒有寫完或完全測試。
此外,開源的只是內核部分,然而現代圖形驅動的很大一部分是在固件和用戶空間組件中,而這些仍然是閉源的。因此,對於普通的 Linux 桌面用戶來說,目前 NVIDIA 的開源驅動程序並不能帶來一些顯而易見的好處。
但無論如何,現在有了一個 NVidia 內核驅動,它能夠使用 Linux 內核中僅支持 gpl 的 API ,這就為後面的以切打下了基礎。
開源驅動能取代二進位驅動程序嗎?
目前還不能,該開源驅動程序只支持 NVidia 圖靈晶片及更新版本的圖形處理器,這意味著它對 2018 年之前的圖形處理器都不起作用。另外,在開源內核模塊經過全面測試和擴展,以用於圖形顯示用例之前,即使你使用的是圖靈或更新版本的 GPU,仍需要在系統中使用二進位驅動。
此外,正如上面所說的,現代圖形驅動的很大一部分是在固件和用戶空間組件中,因此,即使開源內核驅動程序有圖形顯示能力,二進位驅動程序仍將繼續存在。
開源驅動對 Nouveau 有何影響Nouveau 是一個旨在為 NVIDIA GPU 建立高質量的、自由的開源驅動項目,它最初是作為逆向工程驅動程序開發的,但近年來實得到了 NVIDIA 的積極支持。Nouveau 功能齊全,但由於無法重新計算 NVidia 顯卡的時鐘等功能而受到嚴重阻礙,這意味著它不能像二進位驅動那樣提供完整的性能,此次 NVIDIA 開源的 GPU 內核模塊對 Nouveau 社區和項目都大有幫助。
需要注意的是: Linux 內核不允許同一個硬體有多個驅動程序,所以要想讓新的 NVidia 內核驅動程序在當前的 Linux 版本中運行,就必須退出現在的 Nouveau,或者至少被限制在一套不同的硬體上。就像二進位驅動一樣,Nouveau 的很大一部分不在內核中,而是在 Mesa 和 NVidia 目前提供的 Nouveau 特定固件中發現的用戶空間部分。
目前 NVIDIA 和 RadHat 等發行版討論的計劃是讓 NVidia 的二進位驅動和 Mesa 共享一個內核驅動,這可能是一個全新的驅動程序,旨在同時滿足 NVidia 用戶空間和 Mesa 用戶空間的需求。但這可能需要幾年的時間來實現。這對開源社區和 NVidia 都有明顯的優勢。對於開源社區來說,這意味著現在將擁有一個內核驅動程序和固件,它允許更改 GPU 的時鐘,以提供人們期望從 NVidia 顯卡獲得的顯示性能,這意味著 Linux 將擁有一個可以在第一時間訪問新一代 NVidia 硬體的固件和內核更新的驅動程序。
開源驅動對 Linux 發行版意味著什麼?就近期而言,它不會產生重大影響。但隨著時間的推移,它提供了一種從根本上簡化對 NVidia 硬體支持的途徑。從長遠來看,用戶有機會能在 NVidia 硬體上獲得與 Linux 為 Intel 和 AMD 的硬體提供的的體驗,即一些開箱即用的功能
開源還意味著 Linux 發行版可以第一時間支持新的 NVIDIA 晶片,一個高性能的 NVidia 開源 Mesa 驅動程序將允許 Linux 發行版籤署 NVidia 驅動程序和內核的其他部分,以實現安全重啟等功能。
由於第一個開源驅動版本 R515 是針對計算 GPU 的,所以可以預期這些選項也將首先為計算用戶提供,然後再為顯卡用戶提供。
下一步是什麼?NVidia 需要繼續努力完成這個新的驅動程序功能,無論是計算還是圖形顯示用例。而 Linux 社區和 NVIDIA 需要共同為未來的統一內核驅動程序制定一個計劃,並圍繞它制定一個適用於它的模型。無論是 Linux 社區還是 NVidia,都需要添加 Mesa Vulkan 驅動程序之類的東西,類似於為 AMD 提供 RADV 的方式。
小編對驅動程序的了解水平有限,如有一些理解錯誤,歡迎大家指正批評。
原文:https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-source-driver-release-from-nvidia-so-important-for-linux/