NVIDIA avoimen lähdekoodin videoohjaimet Linux-ytimelle

NVIDIA on ilmoittanut, että kaikki sen omaan video-ohjainsarjaan sisältyvät ydinmoduulit ovat avoimen lähdekoodin. Koodi on avoinna MIT- ja GPLv2-lisensseillä. Mahdollisuus rakentaa moduuleja on saatavilla x86_64- ja aarch64-arkkitehtuureille järjestelmissä, joissa on Linux-ydin 3.10 ja uudemmat julkaisut. Käyttäjätilassa käytettävät laiteohjelmistot ja kirjastot, kuten CUDA-, OpenGL- ja Vulkan-pinot, säilyvät omistuksessa.

Koodin julkaisemisen odotetaan parantavan merkittävästi käytettävyyttä NVIDIA-grafiikkasuorittimien kanssa työskentelyssä Linux-järjestelmissä, vahvistavan integraatiota käyttöjärjestelmään ja yksinkertaistavan ohjainten toimittamista ja ongelmien virheenkorjausta. Ubuntun ja SUSEn kehittäjät ovat jo ilmoittaneet avoimiin moduuleihin perustuvien pakettien muodostamisesta. Avointen moduulien läsnäolo yksinkertaistaa myös NVIDIA-ajurien integrointia järjestelmiin, jotka perustuvat Linux-ytimen ei-standardin mukaisiin koontiversioihin. NVIDIA:lle avoin lähdekoodi auttaa parantamaan Linux-ajurien laatua ja turvallisuutta tiiviimmän vuorovaikutuksen avulla yhteisön kanssa sekä mahdollisuuden kolmannen osapuolen tarkistaa muutokset ja riippumaton tarkastus.

On huomattava, että esitettyä avointa koodipohjaa käytetään samanaikaisesti omien ajurien muodostamisessa, erityisesti sitä käytetään tänään julkaistussa beta-haarassa 515.43.04. Tässä tapauksessa ensisijainen on suljettu arkisto, ja ehdotettu avoin koodikanta päivitetään jokaiselle patentoitujen ohjaimien julkaisulle valettuina tietyn käsittelyn ja puhdistuksen jälkeen. Yksittäisten muutosten historiaa ei anneta, vain yleinen sitoumus kullekin ohjainversiolle (tällä hetkellä ohjaimen 515.43.04 moduulien koodi on julkaistu).

Yhteisön jäsenille annetaan kuitenkin mahdollisuus lähettää vetopyyntöjä korjatakseen ja muuttaakseen moduulikoodiin, mutta nämä muutokset eivät näy erillisinä muutoksina julkisessa arkistossa, vaan ne integroidaan ensin yksityiseen päätietovarastoon. ja vasta sitten siirretään muiden muutosten kanssa avattavaksi. Osallistuaksesi kehittämiseen sinun on allekirjoitettava sopimus siirretyn koodin omistusoikeuksien siirrosta NVIDIA:lle (Contributor License Agreement).

Ydinmoduulien koodi on jaettu kahteen osaan: yleisiin komponentteihin, joita ei ole sidottu käyttöjärjestelmään, ja kerrokseen vuorovaikutusta varten Linux-ytimen kanssa. Asennusajan lyhentämiseksi yleiset komponentit toimitetaan edelleen patentoiduissa NVIDIA-ajureissa jo kootun binaaritiedoston muodossa, ja kerros kootaan jokaisessa järjestelmässä ottaen huomioon nykyinen ydinversio ja nykyiset asetukset. Tarjolla on seuraavat ydinmoduulit: nvidia.ko, nvidia-drm.ko (Direct Rendering Manager), nvidia-modeset.ko ja nvidia-uvm.ko (Unified Video Memory).

GeForce-sarjan ja työaseman GPU-tuki on lueteltu alfa-laadulla, mutta NVIDIA Turing- ja NVIDIA Ampere -arkkitehtuureihin perustuvat palvelinkeskuksen laskentakiihdytys- ja rinnakkaislaskennan (CUDA) -arkkitehtuureissa käytetyt GPU:t ovat täysin tuettuja ja täysin testattuja. Ne soveltuvat tuotantokäyttöön. projektit (avoin lähdekoodi on jo valmis korvaamaan omat ajurit). Työasemien GeForce- ja GPU-tuen vakauttaminen on suunniteltu tulevia julkaisuja varten. Lopulta avoimen lähdekoodin pohjan vakauden taso nostetaan omistettujen ohjainten tasolle.

Nykyisessä muodossaan julkaistujen moduulien sisällyttäminen pääytimeen on mahdotonta, koska ne eivät ole ytimen koodaustyylivaatimusten ja arkkitehtonisten käytäntöjen mukaisia, mutta NVIDIA aikoo tehdä yhteistyötä Canonicalin, Red Hatin ja SUSE:n kanssa ratkaistakseen tämän ongelman. vakauttaa ajurin ohjelmistoliitännät. Lisäksi julkaistulla koodilla voidaan parantaa ytimeen sisältyvää avoimen lähdekoodin Nouveau-ohjainta, joka käyttää samaa GPU-laiteohjelmistoa kuin oma ajuri.

Lähde: opennet.ru

Lisää kommentti