Nvidia 发布开源 Linux GPU 驱动程序

Nvidia 发布开源 Linux GPU 驱动程序
Linux 上的游戏一直比 Windows(或游戏机)上复杂一些,其中一个原因是 Nvidia 在 Linux 上的驱动程序支持很差。现在这种情况正在发生变化,尽管目前还不清楚情况会改善多少。

英伟达周三宣布,它已根据 GPL/MIT 双重许可将其 Linux 图形内核模块作为开源软件发布。换句话说,现在任何人都可以查看 Nvidia 的代码,开发人员可以提交修复程序和新功能来改进驱动程序。Canonical(Ubuntu Linux 的开发者)、SUSE 和 Red Hat(Fedora Linux 的开发者)对 Nvidia 最终开源其 Linux 图形驱动程序的决定表示赞赏。

Nvidia 在其博客文章中表示,“在这个开源版本中,对 GeForce 和 Workstation GPU 的支持是 alpha 质量的。GeForce 和 Workstation 用户可以在 NVIDIA Turing 和 NVIDIA Ampere Architecture GPU 上使用此驱动程序来运行 Linux 桌面,并在 Vulkan 和 NVIDIA OptiX 中使用多显示器、G-SYNC 和 NVIDIA RTX 光线追踪等功能。”

为什么开源很重要

那么,为什么这很重要呢?好吧,Nvidia 显卡从来没有在 Linux PC 上很好地工作过。英特尔和 AMD 都为其产品维护开源图形驱动程序,然后可以将其包含在标准 Linux 内核中。最终结果是,如果您有一台配备 Radeon GPU 的游戏 PC,或一台配备 Intel Xe 显卡的笔记本电脑,那么一切都可以在 Linux 上运行。由于任何人都可以查看和修改代码,因此英特尔和 AMD 显卡在 Linux 生态系统中的新变化(例如新兴的Wayland 显示服务器)中工作得更好。

与 AMD 和 Intel 不同,Nvidia 没有 开源其驱动程序(在此之前)。专有驱动程序包有时需要单独安装,并且由于 Nvidia 是唯一可以访问代码的驱动程序,因此驱动程序不支持 Wayland和其他较新的 Linux 功能。Linux 开发人员创建了开源Nouveau驱动程序作为替代方案,但这通常提供比 Nvidia 的软件更差的性能,因为它本质上是一个逆向工程项目。

简而言之,多年来,配备 Nvidia 显卡的 Linux PC 不得不在两个糟糕的选项之间做出选择:一个有缺陷和缺失功能的闭源驱动程序,或者一个性能更差的开源驱动程序。理论上,Nvidia 的开源驱动程序应该是两全其美的。

渔获物

这都是好消息,但有几个理由可以缓和你的兴奋。Asahi Linux的主要开发人员 Hector Martin在一系列推文中分享说,许多重要的图形代码实际上并不是开源的。Nvidia 似乎已将其大部分专有代码转移到其显卡上的固件中,开源代码与之交互——有点像英特尔 CPU 上的英特尔管理引擎 。

 

Martin 推测,由于专利和许可协议的原因,Nvidia 的一些代码不能开源,因此这种折中办法是实现开源驱动程序的唯一方法。AMD 的图形驱动程序也使用一些专有固件组件,但不如 Nvidia 那么多。

还有其他问题。开源驱动程序仅支持使用 Nvidia 的Ampere和Turing架构的显卡,其中包括 GeForce 16 系列、RTX 20 系列和更新的 GPU。任何拥有 GTX 10 系列卡或其他旧硬件的人根本无法访问新驱动程序。

最后,Nvidia 实际上并没有像大多数开源项目那样处理代码更新。公告中的常见问题解答部分表示,每个代码发布都将是“从共享代码库生成的快照,因此贡献可能不会在 GitHub 存储库中反映为单独的 Git 提交。” 换句话说,Nvidia 以外的开发人员将很难跟踪变化和诊断问题。

前路漫漫

开源驱动程序发布可能会让一些人失望,尤其是对于仍在使用不受支持的旧 Nvidia 显卡的人(最近购买新显卡有点困难)。然而,这是朝着正确方向迈出的重要一步,因为像 Canonical 和 Red Hat 这样的公司有史以来第一次有机会帮助改进 Nvidia 的代码。

英伟达希望开源驱动程序最终能够上游到 Linux 内核中,这可能最终为配备 GeForce 硬件的 PC 提供与 AMD 和基于英特尔的 PC 在 Linux 下多年来所享受的相同的即插即用体验。

正文完