NVIDIA atvērtā koda video draiveri Linux kodolam

NVIDIA ir paziņojusi, ka visi kodola moduļi, kas iekļauti tās patentēto video draiveru komplektā, ir atvērtā pirmkoda. Kods ir atvērts saskaņā ar MIT un GPLv2 licencēm. Iespēja veidot moduļus ir nodrošināta x86_64 un aarch64 arhitektūrām sistēmās ar Linux kodolu 3.10 un jaunākām versijām. Lietotāju telpā izmantotā programmaparatūra un bibliotēkas, piemēram, CUDA, OpenGL un Vulkan skursteņi, joprojām ir patentētas.

Paredzams, ka koda publicēšana būtiski uzlabos lietojamību darbā ar NVIDIA GPU Linux sistēmās, stiprinās integrāciju ar operētājsistēmu, kā arī vienkāršos draiveru piegādi un problēmu atkļūdošanu. Ubuntu un SUSE izstrādātāji jau ir paziņojuši par pakotņu veidošanu, kuru pamatā ir atvērtie moduļi. Atvērto moduļu klātbūtne arī vienkāršos NVIDIA draiveru integrāciju sistēmās, kuru pamatā ir nestandarta pielāgotas Linux kodola versijas. Attiecībā uz NVIDIA atvērtā koda izmantošana palīdzēs uzlabot Linux draiveru kvalitāti un drošību, pateicoties ciešākai mijiedarbībai ar kopienu un iespēju veikt trešo pušu veikto izmaiņu pārskatīšanu un neatkarīgu auditu.

Tiek atzīmēts, ka uzrādītā atvērtā koda bāze vienlaikus tiek izmantota patentētu draiveru veidošanā, jo īpaši tā tiek izmantota šodien publicētajā beta filiālē 515.43.04. Šajā gadījumā primārais ir slēgts repozitorijs, un piedāvātā atvērtā koda bāze pēc noteiktas apstrādes un tīrīšanas tiks atjaunināta katram patentētu draiveru laidienam cast veidā. Atsevišķu izmaiņu vēsture netiek sniegta, tikai vispārīga commit katrai draivera versijai (šobrīd tiek publicēts draivera 515.43.04 moduļu kods).

Tomēr kopienas dalībniekiem tiek dota iespēja iesniegt izvilkšanas pieprasījumus, lai virzītu savus labojumus un izmaiņas moduļa kodā, taču šīs izmaiņas netiks atspoguļotas kā atsevišķas izmaiņas publiskajā repozitorijā, bet vispirms tiks integrētas galvenajā privātajā repozitorijā. un tikai pēc tam pārsūtīts ar pārējām izmaiņām, lai atvērtu. Lai piedalītos izstrādē, jums jāparaksta līgums par īpašuma tiesību nodošanu uz nodoto kodu NVIDIA (līdzautora licences līgums).

Kodola moduļu kods ir sadalīts divās daļās: vispārīgie komponenti, kas nav saistīti ar operētājsistēmu, un slānis mijiedarbībai ar Linux kodolu. Lai samazinātu instalēšanas laiku, parastie komponenti joprojām tiek piegādāti patentētos NVIDIA draiveros jau samontēta bināra faila veidā, un slānis tiek samontēts katrā sistēmā, ņemot vērā pašreizējo kodola versiju un esošos iestatījumus. Tiek piedāvāti šādi kodola moduļi: nvidia.ko, nvidia-drm.ko (tiešās renderēšanas pārvaldnieks), nvidia-modeset.ko un nvidia-uvm.ko (vienotā video atmiņa).

GeForce sērijas un darbstaciju GPU atbalsts ir norādīts kā alfa kvalitāte, taču īpašie GPU, kuru pamatā ir NVIDIA Turing un NVIDIA Ampere arhitektūra, ko izmanto datu centru skaitļošanas paātrināšanas un paralēlās skaitļošanas (CUDA) arhitektūrās, tiek pilnībā atbalstīti un pilnībā pārbaudīti. un ir piemēroti izmantošanai ražošanā. projekti (atvērtais kods jau ir gatavs aizstāt patentētos draiverus). Nākamajos laidienos plānota GeForce un GPU atbalsta stabilizācija darbstacijām. Galu galā atvērtā pirmkoda bāzes stabilitātes līmenis tiks sasniegts patentēto draiveru līmenī.

Pašreizējā formā publicēto moduļu iekļaušana galvenajā kodolā nav iespējama, jo tie neatbilst kodola kodēšanas stila prasībām un arhitektūras konvencijām, taču NVIDIA plāno sadarboties ar Canonical, Red Hat un SUSE, lai atrisinātu šo problēmu un stabilizēt draivera programmatūras saskarnes. Turklāt publicēto kodu var izmantot, lai uzlabotu kodolā iekļauto atvērtā koda Nouveau draiveri, kas izmanto to pašu GPU programmaparatūru kā patentētais draiveris.

Avots: opennet.ru

Pievieno komentāru