十年前被Linux之父豎中指罵英偉達終於開源GPU內核
英偉達在昨日發布了其Linux GPU內核模塊的R515驅動版本,該版本採用開源、雙GPL/MIT許可。這一消息引爆了無數Linux開發者的情緒。此前,因為英偉達的閉源驅動,天下Linux開發者“苦英偉達久矣”。
英偉達也因為“自顧自玩耍”的態度,曾經引來Linux之父Linus的批評,後者在10年前一次活動時因為英偉達對Linux的支持力度欠缺對其表達了嚴重不滿。並留下了經典的“豎中指”名場面。
目前,內核模塊的代碼已經在GitHub上提供了下載。據悉,目前只有數據中心的GPU代碼是完全可用的,GeForce和Workstation GPU的代碼仍為“Alpha質量”。
開源的Linux和異類英偉達
產品經理Shirish Baskaran、Ram Cherukuri和Linux OpenGL驅動程序工程師 Andy Ritger 和高級產品營銷經理 Fred Oh 在一篇博文中表示,“這一版本朝著改善在Linux中使用英偉達GPU的體驗邁出了重要一步,讓驅動和操作系統更緊密地集成,使開發人員能夠更好地調試和反饋。”
Linux可以說是世界上最著名的開源操作系統。由於其完全免費並且開源,深受開發者喜愛。開發者可以輕鬆查看用於創建Linux內核的可用代碼,並基於此進行錯誤修復和程序開發。同時Linux穩定性與安全性都更高,發生進程崩潰或卡死的概率很低。對開發者來說,Linux的開發環境也更加友好。總的來講,Linux是一個推崇共享,“眾人拾柴火焰高”的平台。
此前英偉達在其中顯得更像是一個異類。
相比於其有力競爭者AMD在6年前就宣布開源Linux顯卡驅動,英偉達的步子顯然邁的慢了一些。雖然英偉達一直積極參與開發Linux顯卡驅動,但一直沒有採取開源的方式。
英偉達也因為其對Linux支持不力,曾經收穫了Linux之父Linus的一根中指和一句國罵。
Linus曾經在10年吐槽英偉達是“與我們打交道的公司中最麻煩的。”
作為一名堅定的開源支持者,Linus一直希望英偉達能夠開源驅動。如今他的願望終於在那根豎向英偉達的著名中指出現在鏡頭中後十年得以實現。
開源一小步,Linux的一大步
有了完整構建的軟件包和源代碼,開發人員將能夠更容易將驅動程序打包進他們的軟件庫中。英偉達表示,在過去一年分階段推出GSP驅動程序架構之後,該代碼目前已經為支持Turing和Ampere系列的數據中心GPU做好了準備,並對各種工作負載進行了測試,以確保與此前在這些GPU上運行的非開源模式內核驅動程序的特性和性能相當。
在適用性方面,這次開源的驅動和此前的程序適用完全一致的固件和用戶模式堆棧,能夠在20系和30係兩種不同架構的GPU上使用。
科技媒體Tom’s Hardware認為,英偉達推出開源驅動程序的主要目標之一是提升對超級計算機和大型數據中心的支持,但家庭用戶的情況並不那麼樂觀。據英偉達稱,他們將在之後的一整年中對此進行改進。
英偉達發布的驅動程序將包含之前版本的驅動程序和開源驅動程序,在驅動程序安裝期間由用戶決定使用哪個驅動。英偉達承認,它的驅動程序還沒有準備好進入Linux內核的上游,但它將和開原方案提供商Canonical、Red Hat和Suse 一起為此努力。英偉達還表示,已經發布的源代碼可以作為改進Nouveau驅動的參考。
在英偉達宣布發布開源驅動後,Red Hat的主管 Christian Schaller 在一篇博客文章中稱過去一個月中,Nouveau和內核維護者一直在與英偉達會面。
在這篇博文中,Christian對英偉達發布的開源驅動可能造成的影響進行了詳盡的解讀。
“現代圖形驅動程序的很大一部分可以在固件和用戶空間組件中找到,這些仍然是封閉源代碼,”Schaller 寫道。
“但這確實意味著我們現在有了一個英偉達內核驅動程序,它將能夠在Linux內核中使用GPL-only API,儘管這個初始版本與舊版相比沒有加入新的API。”
Schaller補充說,即使構建了新的開源驅動程序,現有的英偉達二進制和Nouveau驅動程序也會繼續存在。
“在短期內,它不會產生重大影響。但隨著時間的推移,它提供了一條從根本上簡化支持英偉達硬件的途徑,”他說。
“從長遠來看,我們希望英偉達做到與今天的AMD和英特爾一樣“開箱即用”的體驗。接下來還有很多工作要做。”