最近发布了两个针对特定 Nvidia GPU 的开源驱动程序。这是 GPU 制造商开源举措的一个令人期待的衍生成果。
两个新的开源驱动程序分别面向 Haiku OS 和 Linux 系统。对于 Haiku 这个实验性的 BeOS 开源重现项目来说,这是一个重大突破,因为该项目一直缺乏硬件厂商的设备驱动支持。而 Linux 端的新驱动虽然不那么关键 (特别是考虑到 Nvidia 已经提供了自己的 Linux 驱动),但它提供了一个更小巧、更简单,可能也更快速的全开源替代方案,可以取代现有的老旧 Nouveau 驱动。
有趣的是,除了这两个驱动都受益于 Nvidia 2022 年的开源驱动发布外,Haiku 驱动还借鉴了另一个新驱动的部分代码。当时,GPU 制造商以宽松的 MIT 许可证发布了其 Linux 内核模块的源代码。
需要注意的是,这两个驱动程序仅支持部分较新的 Nvidia 显卡芯片,具体是指该公司自 2018 年以来推出的 Turing 系列 GPU (主要包括 RTX 20XX 和 GTX 16XX 型号)。两个驱动都不支持较旧的 Nvidia GPU,因此对于仍在使用 Nvidia 旧版 Linux 驱动的用户来说没有帮助。尽管如此,它们的存在表明 Nvidia 2022 年的开源计划开始结出果实...或者至少已经开始开花,很快就会有实质性的成果。
两个驱动中较新的是 X512 的早期实验性 Haiku 内核 Nvidia 驱动。"X512" 就是几年前负责将 WINE 移植到 Haiku 的那位黑客。他们将这个新驱动称为 NVRM。NVRM 本身不是一个完整的图形驱动,但部分基于 Nvidia 的开源代码。
有趣的是,Haiku 驱动的工作方式与英国开源代码开发者集体 Collabora 最近宣布的另一个名为 Zink 的新 FOSS NVIDIA 驱动有关。Zink 的开发已经持续一段时间了 - 最早在 2018 年就宣布了。Zink 通过提供一个将 OpenGL 调用转换为更现代的 3D API Vulkan 的转换层来实现硬件加速 OpenGL。在 Nvidia Turing 系列 GPU 上,Zink 可以与另一个名为 NVK 的开源 Nvidia 驱动配合使用,后者提供 Vulkan 支持。
NVK 来自与 Zink 相同的团队:Collabora 在 2022 年底宣布了它,正如该公告所述,其开发得益于 Nvidia 公开可读的源代码。与现有的 Nouveau 驱动一样,NVK 是一个用于 Nvidia GPU 的开源驱动。NVK 是 Mesa 3D 库的一部分。
Mesa3D 的解释稍微复杂一些。它的官方文档称其是"OpenGL 规范的开源实现"。这是对的,但远远低估了它的重要性。如今,Mesa 还实现了 Vulkan,这是一个跨平台的硬件无关的 3D 图形 API。Vulkan 不是 Linux 专属:它也可以在 Windows、macOS 和 Android 上运行。Mesa 也不仅仅面向 Linux:Mesa 是一个跨平台的 OpenGL 和 Vulkan 的开源实现,可以在多个操作系统上与多个厂商的 GPU 通信。例如在 Windows 上,GPU 厂商确保他们的所有硬件都有支持 Microsoft DirectX 等 API 的最新驱动,而 Mesa3D 则提供了一个 OpenGL 到 DirectX 的接口。因此,Mesa 是 Linux 和 FreeBSD 图形驱动栈的重要组成部分,除了 Nvidia 的专有驱动外,大多数其他开源 3D 驱动都使用 Mesa。
回到新驱动,Collabora 在构建 NVK 上投入了大量工作。NVK 是一个与 Nvidia Turing GPU 通信并提供 Vulkan 接口的设备驱动,然后 Zink 与 NVK 通信并提供 OpenGL。
值得注意的是,X512 成功地将 Mesa 的 NVK Vulkan 实现与他们的新 NVRM 驱动连接起来。结果是一个初步的 Haiku Nvidia 驱动,尽管目前它提供的是 Vulkan,而不是更古老且使用更广泛的 OpenGL。
这是一个重大进步,因为尽管 Haiku(就像它所重现的原始 BeOS 一样)一直具有出色的 3D 图形和视频播放功能,但由于缺乏驱动程序,这些都是通过软件渲染实现的 - 虽然如 2023 年的讨论帖所述,几个驱动程序正在开发中。
BeOS 最著名的演示之一是一个显示 3D 渲染对象的程序,比如一本可以翻页的书,或者一个可以旋转的 3D 立方体。用户可以将多个不同的图像文件拖放到 3D 对象的表面上并进行交互,这些图像会平滑地映射到 3D 空间中。Haiku 自然也有这样的应用程序。
在 1998 年,在 Nvidia 于 1999 年初推出 Riva TNT2 之前,这种效果有多令人印象深刻是很难形容的。对于那个时代没有经历过的读者来说,那是在发布第一款具有硬件变换和光照的大众市场 GPU GeForce 256 之前的产品。BeOS 的演示发生在 id 发布 Quake 仅仅两年后。当时我们大多数人都是在 320×200 分辨率下运行游戏,即使拥有一台性能强劲的 PC,也最多只能达到 30 帧每秒。在高分辨率桌面的窗口中看到这个带有全动态视频的 3D 表面的演示确实令人惊叹。
所有这些都是完全通过软件实现的。想象一下,如果这个操作系统能够访问现代显示硬件的性能,会带来多么令人兴奋的可能性。当然,在 Linux 上有另一个全开源的选择也是很好的。
好文章,需要你的鼓励
当前软件工程团队正在试验基于AI代理的编码工具和大语言模型,以提高开发速度和质量。然而,AI编码工具的效果很大程度上取决于使用方式。开发者需要提供结构化的问题描述、明确的执行要求和相关上下文,同时建立适当的防护机制。AI不仅能处理重复性任务,还能识别和评估替代方案,从被动助手演进为工作流程推进器。成功的关键在于将AI视为合作伙伴而非快捷工具,并将其整合到软件交付的全生命周期中。
NVIDIA研究团队开发出名为Lyra的AI系统,能够仅凭单张照片生成完整3D场景,用户可自由切换观察角度。该技术采用创新的"自蒸馏"学习方法,让视频生成模型指导3D重建模块工作。系统还支持动态4D场景生成,在多项测试中表现优异。这项技术将大大降低3D内容创作门槛,为游戏开发、电影制作、VR/AR应用等领域带来重大突破。
Salesforce发布企业级AI智能体平台Agentforce 360,将AI智能体融入几乎所有应用中。该平台采用混合推理引擎Atlas,结合大语言模型的概率思维和业务规则的精确性,支持语音交互和深度集成。以Slack为主要界面,提供Agentforce Builder开发环境,能将非结构化文档转换为可查询记录。Salesforce内部已部署该系统,每周处理180万次对话,主动服务活动增长40%。
谷歌DeepMind团队创新性地让Gemini 2.5模型在无需训练的情况下学会理解卫星多光谱图像。他们将复杂的12波段卫星数据转换为6张可理解的伪彩色图像,配以详细文字说明,使通用AI模型能够准确分析遥感数据。在多个基准测试中超越现有模型,为遥感领域AI应用开辟了全新道路。