当前位置: 首页 > 科技观察

为什么NVidia的开源驱动程序对Linux如此重要?

时间:2023-03-12 20:56:04 科技观察

ChristianF.K.RedHat桌面、图形、信息娱乐和国际化总监Schaller分享了他对NVIDIA开源LinuxGPU内核模块的看法,并分析了NVidia开源驱动程序对Linux社区的重要性。什么是开源驱动程序?首先需要明确一点:NVIDIA开源了outoftree源代码内核驱动。这些驱动程序已经过测试并支持GPU上的CUDA用例作为数据中心,但尚未用于图形。虽然也有支持图形显示的代码,但这段代码还没有编写或完全测试。此外,开源只是内核部分,而现代图形驱动程序的很大一部分是固件和用户空间组件,它们仍然是闭源的。因此,对于普通的Linux桌面用户而言,NVIDIA的开源驱动程序目前并没有提供一些明显的好处。但无论如何,现在有了NVidia内核驱动,可以使用linux内核中只支持gpl的API,为后面的内容打下基础。开源驱动程序可以替代二进制驱动程序吗?还没有,开源驱动程序仅支持来自NVidiaTuring芯片和更新版本的GPU,这意味着它不能在2018年之前的GPU上运行。此外,即使您使用的是Turing或更新的GPU,您仍然需要系统中的二进制驱动程序,直到开源内核模块经过全面测试和扩展以用于图形显示用例。另外,如上所述,现代图形驱动程序的很大一部分位于固件和用户空间组件中,因此即使开源内核驱动程序具有图形功能,二进制驱动程序仍将继续存在。开源驱动程序如何影响NouveauNouveau是一个为NVIDIAGPU创建高质量、免费的开源驱动程序的项目,最初是作为逆向工程驱动程序开发的,但近年来得到了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都需要添加类似MesaVulkan驱动程序的内容,类似于为AMD提供RADV的方式。