奧推網

選單
科技

被 Linux 之父罵、遭駭客威脅,英偉達終於“想開”了:正式開源 Linux ...

整理 | 鄭麗媛

出品 | CSDN(ID:CSDNnews)

細數 Linux 之父 Linus Torvalds 過往的“金句時刻”,令人影響最為深的,想必還是 2012 年因不滿英偉達(NVIDIA)閉源驅動的爆粗事件:“NVIDIA 是最難伺候的硬體製造商,也是我們接觸過最糟糕的公司,沒有之一!”

當時,雖然 NVIDIA 迴應稱“支援 Linux 對 NVIDIA 來說很重要”,但依舊堅持閉源,理由是“為所有客戶提供跨多個平臺的一致 GPU 體驗”。

不曾想,十年後的 NVIDIA 突然“想開”了:5 月 11 日,NVIDIA 宣佈正式開源其 Linux GPU 核心模組,且使用 GPL/MIT 雙重許可。

(CSDN 付費下載自視覺中國)

駭客也想讓 NVIDIA 開源驅動

這十年間,不僅 Linus Torvalds 對 NVIDIA 非常不滿,Fedora 專案負責人也呼籲 NVIDIA 支援開源驅動程式,甚至連駭客都想讓 NVIDIA 開源驅動。

今年 3 月,竊取 NVIDIA 1TB 資料的駭客組織 Lapsus$ 提出一項要求:NVIDIA 必須完全開源 Windows、macOS、Linux 系統的 GPU 驅動,否則就把機密資料公之於眾。

上個月,Fedora 專案負責人 Matthew Miller 連發多條推文,抨擊因 NVIDIA 的專有驅動程式,讓眾多公司做了大量相容工作以最佳化 Linux 體驗,結果還不理想。

這些年來,NVIDIA 對開源 GPU 驅動的熱情一直不高,而 NVIDIA 專有驅動又導致了 Linux 使用者體驗不佳,在此形勢下,Nouveau 應運而生——一個為 Nvidia GPU 誕生的開源驅動專案,由第三方開發者透過逆向工程技術還原 Nvidia 的專有 Linux 驅動所構建。

但很可惜的是,因為 Nouveau 並沒有獲得 NVIDIA 官方的認可與支援,所以它對於顯示卡的呼叫有很大侷限且不太穩定,去年還因此被 Chrome 列入了黑名單,預設關閉 GPU 加速。

結合以上種種事蹟,我們能明顯體會到業界對於 NVIDIA 開源驅動的迫切渴望。而 NVIDIA 也終於開始正視這些聲音,邁出了支援開源驅動程式的重要一步。

目前還無法上游化

據 NVIDIA 官方博文介紹,本次 Linux GPU 核心模組的開源使用 GPL/MIT 雙重許可,從 R515 驅動程式版本開始,開發者可在 GitHub 上的 NVIDIA Open GPU Kernel Modules repo 中查詢核心模組的相關原始碼。(GitHub 地址:https://github。com/NVIDIA/open-gpu-kernel-modules)

目前,此開源 GPU 核心模組的第一個版本是 R515,除了原始碼之外,NVIDIA 還提供了驅動程式的完全構建和打包版本。具體支援的功能包括:

對於 NVIDIA Turing 和 NVIDIA Ampere 架構系列中的資料中心 GPU,此開原始碼可用於生產;

對 GeForce 和 Workstation GPU 提供高質量支援,並且“後續版本將提供更強大且功能齊全的 GeForce 和 Workstation 支援,NVIDIA 開源核心模組最終將取代閉源驅動程式”;

擁有 Turing 和 Ampere GPU 的客戶可選擇安裝哪些模組,Pre-Turing 客戶將繼續執行閉源模組。

對於此次開源,NVIDIA 表示:“此開源版本,將改善 NVIDIA GPU 在 Linux 中的體驗,與作業系統更緊密地整合,有利於開發人員進行除錯、整合和反饋。”

不論對 Linux 分發提供商還是開發者而言,開源模組都增加了易用性,也將改善使用者體驗,甚至可以明確核心事件排程的具體原理,加快除錯並將其無縫整合至定製的 Linux 核心中——而透過 Linux 使用者社群的意見和評論,NVIDIA 也可以進一步幫助提高其 GPU 驅動程式的質量和安全性。

不過 NVIDIA 在博文中補充道,這次開源的 Linux GPU 核心模組存在不足:“當前的程式碼庫不符合 Linux 核心設計要求,也不是 Linux 上游的候選者。”NVIDIA 表示,未來將計劃與 Linux 核心社群及合作伙伴(如 Canonical、Red Hat 和 SUSE)合作開發上游化的方法。

獲得開發者大力支援

儘管該開源核心模組還無法上游化,但 NVIDIA 已邁出第一步,並表示未來將繼續開發,這一訊息已足以令許多業內人士及開發者感到驚訝並欣喜。

Red Hat Linux 工程副總裁 Mike McGrath:“紅帽與 NVIDIA 合作多年,我們很高興看到他們邁出下一步。我們期待將這些功能帶給我們的客戶,並提高與 NVIDIA 硬體的互操作性。”

SUSE 業務關鍵 Linux 總經理 Markus Noga:“我們很高興 NVIDIA 將其 GPU 核心模式驅動程式作為開源版本釋出,這是開源社群和加速計算領域真正的里程碑。”

Julia Computing 聯合創始人兼 CTO Keno Fischer :“祝賀 NVIDIA 終於將其核心驅動程式開源,雖然這是一個漫長的過程,但絕對是正確的舉動。”

除此之外,開源解決方案供應商 Red Hat 桌面高階經理 Christian F。K。 Schaller 還為此特意撰寫了一篇文章《Why is the open source driver release from NVidia so important for Linux?(為什麼 NVidia 的開源驅動程式版本對 Linux 如此重要?)》。

在文中,Christian F。K。 Schaller 詳細分析了 NVIDIA 此舉對於 Nouveau 及 Fedora 和 RHEL 等 Linux 發行版的影響:

Nouveau:在官博中,NVIDIA 就明確表示其開源核心模組可作為參考,幫助改進 Nouveau 驅動程式,為其帶來新功能。但 Linux 核心是不允許同一硬體有多個驅動程式的,因此為了讓新的 NVidia 核心驅動程式進入當前的驅動程式,需有所取捨。Christian F。K。 Schaller 指出,未來“這個新的共享核心驅動程式將被並稱為 Nouveau 還是另一個個體,仍是一個懸而未決的問題。”

Fedora 和 RHEL 等 Linux 發行版:在短期內,該開源核心模組不會產生重大影響,但隨著時間的推移,它將提供一條從根本上簡化支援 NVidia 硬體的途徑。

目前,NVIDIA 所開源的 Linux GPU 核心模組在 GitHub 上已獲 5k+ Star,部分開發者對 NVIDIA 這番舉動也十分支援:“這是十多年來對開源作業系統硬體支援所發生的最重要的事情之一。”

那麼,你對 NVIDIA 開源其 Linux GPU 核心模組的舉動有何看法?

參考連結:

https://developer。nvidia。com/blog/nvidia-releases-open-source-gpu-kernel-modules/

https://blogs。gnome。org/uraeus/2022/05/11/why-is-the-open-source-driver-release-from-nvidia-so-important-for-linux/

END