NVIDIA open-source video driver para sa Linux kernel

Inanunsyo ng NVIDIA na ang lahat ng kernel module na kasama sa set ng proprietary video driver nito ay open source. Bukas ang code sa ilalim ng mga lisensya ng MIT at GPLv2. Ang kakayahang bumuo ng mga module ay ibinibigay para sa x86_64 at aarch64 na mga arkitektura sa mga system na may Linux kernel 3.10 at mas bagong mga release. Ang firmware at mga aklatan na ginagamit sa espasyo ng gumagamit, tulad ng CUDA, OpenGL at Vulkan stack, ay nananatiling pagmamay-ari.

Inaasahan na ang paglalathala ng code ay hahantong sa isang makabuluhang pagpapabuti sa kakayahang magamit ng mga NVIDIA GPU sa mga sistema ng Linux, palakasin ang pagsasama sa operating system, at gawing simple ang paghahatid ng mga driver at pag-debug ng mga problema. Inihayag na ng mga developer ng Ubuntu at SUSE ang pagbuo ng mga pakete batay sa mga bukas na module. Ang pagkakaroon ng mga bukas na module ay magpapasimple rin sa pagsasama ng mga driver ng NVIDIA sa mga system batay sa hindi karaniwang mga custom na build ng Linux kernel. Para sa NVIDIA, ang open source ay makakatulong na mapabuti ang kalidad at seguridad ng mga driver ng Linux sa pamamagitan ng mas malapit na pakikipag-ugnayan sa komunidad at ang posibilidad ng third-party na pagsusuri ng mga pagbabago at independiyenteng pag-audit.

Ito ay nabanggit na ang ipinakita na bukas na base ng code ay sabay-sabay na ginagamit sa pagbuo ng mga pagmamay-ari na mga driver, sa partikular, ito ay ginagamit sa beta branch 515.43.04 na inilathala ngayon. Sa kasong ito, ang pangunahing isa ay isang saradong imbakan, at ang iminungkahing open code base ay ia-update para sa bawat paglabas ng mga pagmamay-ari na driver sa anyo ng isang cast pagkatapos ng ilang partikular na pagproseso at paglilinis. Ang kasaysayan ng mga indibidwal na pagbabago ay hindi ibinigay, isang pangkalahatang commit lamang para sa bawat bersyon ng driver (kasalukuyang ang code ng mga module para sa driver 515.43.04 ay nai-publish).

Gayunpaman, ang mga miyembro ng komunidad ay binibigyan ng pagkakataong magsumite ng mga pull request para itulak ang kanilang mga pag-aayos at pagbabago sa module code, ngunit ang mga pagbabagong ito ay hindi ipapakita bilang mga hiwalay na pagbabago sa pampublikong imbakan, ngunit isasama muna sa pangunahing pribadong imbakan. at pagkatapos lamang ay inilipat kasama ang iba pang mga pagbabago sa pagbukas. Upang makilahok sa pagpapaunlad, dapat kang lumagda sa isang kasunduan sa paglilipat ng mga karapatan sa ari-arian sa inilipat na code sa NVIDIA (Contributor License Agreement).

Ang code ng mga kernel module ay nahahati sa dalawang bahagi: pangkalahatang mga bahagi na hindi nakatali sa operating system at isang layer para sa pakikipag-ugnayan sa Linux kernel. Upang bawasan ang oras ng pag-install, ang mga karaniwang bahagi ay ibinibigay pa rin sa pagmamay-ari na mga driver ng NVIDIA sa anyo ng isang naka-assemble na binary file, at ang layer ay binuo sa bawat system, na isinasaalang-alang ang kasalukuyang bersyon ng kernel at umiiral na mga setting. Ang mga sumusunod na kernel module ay inaalok: nvidia.ko, nvidia-drm.ko (Direct Rendering Manager), nvidia-modeset.ko at nvidia-uvm.ko (Unified Video Memory).

Ang GeForce series at workstation GPU support ay nakalista bilang alpha quality, ngunit ang mga dedikadong GPU batay sa NVIDIA Turing at NVIDIA Ampere na mga arkitektura na ginagamit sa data center computing acceleration at parallel computing (CUDA) architecture ay ganap na sinusuportahan at ganap na nasubok. at angkop para sa paggamit sa produksyon mga proyekto (nakahanda na ang open source na palitan ang mga pagmamay-ari na driver). Ang pagpapatatag ng suporta ng GeForce at GPU para sa mga workstation ay pinlano para sa mga paglabas sa hinaharap. Sa huli, ang antas ng katatagan ng open source code base ay dadalhin sa antas ng pagmamay-ari na mga driver.

Sa kasalukuyang anyo nito, ang pagsasama ng mga nai-publish na mga module sa pangunahing kernel ay imposible, dahil hindi sila sumusunod sa mga kinakailangan sa estilo ng coding ng kernel at mga kombensiyon sa arkitektura, ngunit ang NVIDIA ay nagnanais na makipagtulungan sa Canonical, Red Hat at SUSE upang malutas ang isyung ito at patatagin ang mga interface ng software ng driver. Bilang karagdagan, ang na-publish na code ay maaaring gamitin upang mapabuti ang open-source na driver ng Nouveau na kasama sa kernel, na gumagamit ng parehong GPU firmware bilang pagmamay-ari na driver.

Pinagmulan: opennet.ru

Magdagdag ng komento