NVIDIA avatud lähtekoodiga videodraiverid Linuxi tuuma jaoks

NVIDIA on teatanud, et kõik selle patenteeritud videodraiverite komplekti kuuluvad tuumamoodulid on avatud lähtekoodiga. Kood on avatud MIT ja GPLv2 litsentside all. Moodulite loomise võimalus on saadaval x86_64 ja aarch64 arhitektuuride jaoks süsteemides, millel on Linuxi kernel 3.10 ja uuemad versioonid. Kasutajaruumis kasutatav püsivara ja teegid, nagu CUDA, OpenGL ja Vulkan virnad, jäävad omandiõiguseks.

Eeldatakse, et koodi avaldamine parandab oluliselt NVIDIA GPU-dega töötamise kasutatavust Linuxi süsteemides, tugevdab integratsiooni operatsioonisüsteemiga ning lihtsustab draiverite tarnimist ja probleemide silumist. Ubuntu ja SUSE arendajad on juba teatanud avatud moodulitel põhinevate pakettide moodustamisest. Avatud moodulite olemasolu lihtsustab ka NVIDIA draiverite integreerimist süsteemidega, mis põhinevad Linuxi kerneli mittestandardsetel kohandatud ehitustel. NVIDIA jaoks aitab avatud lähtekoodiga tarkvara parandada Linuxi draiverite kvaliteeti ja turvalisust kogukonnaga tihedama suhtluse ning kolmanda osapoole muudatuste ülevaatamise ja sõltumatu auditeerimise kaudu.

Märgitakse, et esitatud avatud koodibaasi kasutatakse samaaegselt varaliste draiverite moodustamisel, eriti kasutatakse seda täna avaldatud beetaharus 515.43.04. Sel juhul on esmane hoidla suletud hoidla ja pakutud avatud koodibaasi värskendatakse pärast teatud töötlemist ja puhastamist iga patenteeritud draiverite väljalaske vormis. Üksikute muudatuste ajalugu ei esitata, vaid iga draiveriversiooni jaoks on ainult üldine kohustus (praegu avaldatakse draiveri 515.43.04 moodulite kood).

Kommuuni liikmetele antakse aga võimalus esitada tõmbetaotlusi oma paranduste ja mooduli koodi muudatuste edastamiseks, kuid need muudatused ei kajastu eraldi muudatustena avalikus hoidlas, vaid integreeritakse esmalt peamisse privaatsesse hoidlasse. ja alles seejärel kantakse üle koos ülejäänud muudatustega avamiseks. Arenduses osalemiseks peate allkirjastama lepingu NVIDIA-le üleantud koodi omandiõiguste üleandmise kohta (kaastöötaja litsentsileping).

Kerneli moodulite kood on jagatud kaheks osaks: üldised komponendid, mis ei ole seotud operatsioonisüsteemiga, ja kiht Linuxi tuumaga suhtlemiseks. Paigaldusaja lühendamiseks tarnitakse tavalised komponendid endiselt patenteeritud NVIDIA draiverites juba kokkupandud binaarfailina ja kiht komplekteeritakse igas süsteemis, võttes arvesse praegust kerneli versiooni ja olemasolevaid sätteid. Pakutakse järgmisi kerneli mooduleid: nvidia.ko, nvidia-drm.ko (Otserenderdushaldur), nvidia-modeset.ko ja nvidia-uvm.ko (Unified Video Memory).

GeForce'i seeria ja tööjaama GPU tugi on loetletud alfakvaliteedina, kuid spetsiaalsed GPU-d, mis põhinevad NVIDIA Turingi ja NVIDIA Ampere'i arhitektuuridel, mida kasutatakse andmekeskuste andmekeskuse andmetöötluskiirendus- ja paralleelarvutus (CUDA) arhitektuurides, on täielikult toetatud ja täielikult testitud. Need sobivad tootmises kasutamiseks. projektid (avatud lähtekoodiga on juba valmis varaliste draiverite asendamiseks). Tööjaamade GeForce'i ja GPU toe stabiliseerimine on plaanis tulevaste väljaannete jaoks. Lõppkokkuvõttes viiakse avatud lähtekoodi baasi stabiilsuse tase varaliste draiverite tasemele.

Praegusel kujul on avaldatud moodulite lisamine põhikernelisse võimatu, kuna need ei vasta kerneli kodeerimisstiili nõuetele ja arhitektuurilistele tavadele, kuid NVIDIA kavatseb selle probleemi lahendamiseks teha koostööd Canonicali, Red Hati ja SUSE-ga. stabiliseerida draiveri tarkvara liideseid. Lisaks saab avaldatud koodi kasutada kernelis sisalduva avatud lähtekoodiga Nouveau draiveri täiustamiseks, mis kasutab sama GPU püsivara kui patenteeritud draiver.

Allikas: opennet.ru

Lisa kommentaar