NVIDIA open-source video drajveri za Linux kernel

NVIDIA je objavila da su svi moduli kernela uključeni u njen set vlasničkih video drajvera otvorenog koda. Kod je otvoren pod licencama MIT i GPLv2. Mogućnost izgradnje modula je obezbeđena za x86_64 i aarch64 arhitekture na sistemima sa Linux kernelom 3.10 i novijim izdanjima. Firmver i biblioteke koje se koriste u korisničkom prostoru, kao što su CUDA, OpenGL i Vulkan stekovi, ostaju vlasnički.

Očekuje se da će objavljivanje koda dovesti do značajnog poboljšanja upotrebljivosti rada sa NVIDIA GPU-ovima na Linux sistemima, ojačati integraciju sa operativnim sistemom, te pojednostaviti isporuku drajvera i otklanjanje grešaka. Programeri Ubuntua i SUSE-a već su najavili formiranje paketa baziranih na otvorenim modulima. Prisustvo otvorenih modula će takođe pojednostaviti integraciju NVIDIA drajvera sa sistemima zasnovanim na nestandardnim prilagođenim verzijama Linux kernela. Za NVIDIA, otvoreni izvor će pomoći u poboljšanju kvaliteta i sigurnosti Linux drajvera kroz bližu interakciju sa zajednicom i mogućnost pregleda promjena od strane treće strane i nezavisne revizije.

Napominje se da se predstavljena baza otvorenog koda istovremeno koristi u formiranju vlasničkih drajvera, a posebno se koristi u danas objavljenoj beta grani 515.43.04. U ovom slučaju, primarno je zatvoreno spremište, a predložena baza otvorenog koda će se ažurirati za svako izdanje vlasničkih drajvera u obliku cast nakon određene obrade i čišćenja. Istorija pojedinačnih promena nije data, već samo opšte urezivanje za svaku verziju drajvera (trenutno je objavljen kod modula za drajver 515.43.04).

Međutim, članovima zajednice je data mogućnost da podnesu zahtjeve za povlačenjem kako bi ubacili svoje popravke i promjene u kodu modula, ali te promjene se neće odražavati kao zasebne promjene u javnom spremištu, već će prvo biti integrirane u glavno privatno spremište i tek onda prebačen s ostalim promjenama na otvaranje. Da biste učestvovali u razvoju, morate potpisati ugovor o prenosu imovinskih prava na preneseni kod na NVIDIA (Contributor License Agreement).

Kod modula kernela podijeljen je na dva dijela: opće komponente koje nisu vezane za operativni sistem i sloj za interakciju sa Linux kernelom. Kako bi se smanjilo vrijeme instalacije, uobičajene komponente se i dalje isporučuju u vlasničkim NVIDIA drajverima u obliku već sastavljene binarne datoteke, a sloj se sastavlja na svakom sistemu, uzimajući u obzir trenutnu verziju kernela i postojeće postavke. Nude se sljedeći moduli kernela: nvidia.ko, nvidia-drm.ko (Upravitelj direktnog renderiranja), nvidia-modeset.ko i nvidia-uvm.ko (Ujedinjena video memorija).

Podrška za GeForce serije i GPU radne stanice navedene su kao alfa kvaliteta, ali namjenski GPU-ovi zasnovani na arhitekturi NVIDIA Turing i NVIDIA Ampere koji se koriste u arhitekturi ubrzanja računanja u podatkovnom centru i paralelnog računanja (CUDA) su u potpunosti podržani i potpuno testirani. i pogodni za upotrebu u proizvodnji projekti (otvoreni kod je već spreman da zamijeni vlasničke drajvere). Stabilizacija GeForce i GPU podrške za radne stanice planirana je za buduća izdanja. Na kraju, nivo stabilnosti baze otvorenog koda biće doveden na nivo vlasničkih drajvera.

U svom sadašnjem obliku, uključivanje objavljenih modula u glavno jezgro je nemoguće, jer nisu u skladu sa zahtjevima stila kodiranja kernela i arhitektonskim konvencijama, ali NVIDIA namjerava raditi zajedno sa Canonical, Red Hat i SUSE kako bi riješila ovaj problem i stabilizirati softverske interfejse drajvera. Osim toga, objavljeni kod se može koristiti za poboljšanje otvorenog koda Nouveau drajvera uključenog u kernel, koji koristi isti GPU firmver kao i vlasnički drajver.

izvor: opennet.ru

Dodajte komentar