Nvidia zet eerste stap naar open source Linux GPU-stuurprogramma’s
Na jaren van hints heeft Nvidia gisteren aangekondigd dat het deel gaat uitmaken van een open-source Linux GPU-driver , zoals Intel en AMD al jaren doen. Voorheen moesten Linux-gebruikers die het eigen stuurprogramma van Nvidia wilden vermijden, vertrouwen op reverse-engineered software zoals het Nouveau-project , dat het beste werkte op oudere hardware en op zijn best onvolledige ondersteuning bood voor alle Nvidia GPU-functies.
“Deze release is een belangrijke stap in de richting van het verbeteren van de NVIDIA GPU-ervaring op Linux, nauwere integratie met het besturingssysteem en de mogelijkheid om te debuggen, te integreren en bij te dragen aan ontwikkelaars”, luidt een blogpost toegeschreven aan verschillende Nvidia- medewerkers . “Voor leveranciers van Linux-distributie maken open source-modules het gemakkelijk te gebruiken. Ze verbeteren ook de kant-en-klare gebruikersinterface voor ondertekening en distributie van NVIDIA GPU-stuurprogramma’s. Canonical en SUSE kunnen open kernelmodules onmiddellijk verpakken met Ubuntu- en SUSE Linux Enterprise-distributies.”
Nvidia brengt specifiek een open source kerneldriver uit onder een dubbele MIT/GPL-licentie en geeft momenteel niet de gebruikersruimtegedeelten van de driver vrij. Dit omvat stuurprogramma’s voor OpenGL, Vulkan, OpenCL en CUDA, die nog steeds een gesloten bron zijn, evenals firmware voor de GPU-systeemprocessor (GSP). Nvidia zegt dat deze stuurprogramma’s “gesloten blijven en zullen worden gepubliceerd met vooraf gebouwde binaire bestanden”, dus het ziet er niet naar uit dat er binnenkort open source-versies worden uitgebracht.
Nvidia loopt nog steeds achter op zowel Intel als AMD als het gaat om open-source GPU-stuurprogramma’s – beide bedrijven brengen open-source kernel- en gebruikersruimtestuurprogramma’s uit, evenals closed-source firmware. Maar dit is de eerste stap naar open source-pariteit voor de Linux-stuurprogrammapakketten van Nvidia.
De open source-stuurprogramma’s van Nvidia ondersteunen alleen de op Turing gebaseerde GPU’s van het bedrijf en later, inclusief de GeForce GTX 1600-serie, RTX 2000- en 3000-serie en Quadro-werkstation-GPU’s op basis van dezelfde architectuur. De eigen stuurprogramma’s van het bedrijf dateren uit de Kepler-architectuur uit 2012.
Ook zullen open source-stuurprogramma’s nog niet in de Linux-kernel worden geïntegreerd, omdat volgens Phoronix de API, ABI en interface tussen de kerneldriver en de GSP-firmware-interface nog niet definitief zijn. Dit betekent dat alles, van firmware tot kerneldriver tot userspace-drivers, een versie moet hebben om correct te werken (de huidige versie is R515.43.04). Zodra deze interfaces voltooid zijn, kan het stuurprogramma aan de kernel worden doorgegeven en zouden de verschillende firmwareversies, kernelstuurprogramma’s en stuurprogramma’s voor gebruikersruimte moeten kunnen samenwerken.
Nvidia zegt dat ondersteuning voor zijn datacenter-GPU’s in de huidige stuurprogramma’s “productiegereed” is in deze eerste release, maar ondersteuning voor GeForce, Quadro en andere consumenten-GPU’s is in “alpha-kwaliteit” – het is niet het soort software dat je nodig hebt. haast je om te installeren als je niet op een testsysteem wilt trappen of zelf code wilt bijdragen.
Hector Martin, een van de ontwikkelaars van de Asahi Linux-distributie, heeft Nvidia bekritiseerd voor het verplaatsen van veel functies naar hun closed source-firmware, die de open source-driver vervolgens aanroept. Martin noemt de open source-driver “een schone overwinning vanuit praktisch oogpunt”, omdat een heleboel propriëtaire code gemakkelijker in een sandbox past. “Maar er is geen vrijheid verkregen voor de mensen die erom geven”, schrijft hij. “[Ongeveer] dezelfde hoeveelheid code gesloten [als voorheen].”
Geef een reactie