Nvidia tar första steget mot Linux GPU-drivrutiner med öppen källkod

Nvidia tar första steget mot Linux GPU-drivrutiner med öppen källkod

Efter år av tips meddelade Nvidia i går att den kommer att ingå i en Linux GPU-drivrutin med öppen källkod, som Intel och AMD har gjort i flera år. Tidigare var Linux-användare som ville undvika Nvidias proprietära drivrutin att förlita sig på omvänd mjukvara som Nouveau-projektet , som körde bäst på äldre hårdvara och i bästa fall erbjöd ofullständigt stöd för alla Nvidia GPU-funktioner.

”Den här utgåvan är ett viktigt steg mot att förbättra NVIDIA GPU-upplevelsen på Linux, närmare integration med operativsystemet och förmågan att felsöka, integrera och bidra till utvecklare”, står det i ett blogginlägg som tillskrivs flera Nvidia- anställda . ”För Linux-distributionsleverantörer gör moduler med öppen källkod det enkelt att använda. De förbättrar också det färdiga användargränssnittet för signering och distribution av NVIDIA GPU-drivrutiner. Canonical och SUSE kan omedelbart paketera öppna kärnmoduler med Ubuntu och SUSE Linux Enterprise-distributioner.”

Nvidia släpper specifikt en drivrutin för öppen källkod under en dubbel MIT/GPL-licens och släpper för närvarande inte användarutrymmesdelarna av drivrutinen. Detta inkluderar drivrutiner för OpenGL, Vulkan, OpenCL och CUDA, som fortfarande är stängd källkod, samt firmware för GPU System Processor (GSP). Nvidia säger att dessa drivrutiner ”kommer att förbli stängda och kommer att publiceras med förbyggda binärer”, så det ser inte ut som att versioner med öppen källkod är planerade att släppas inom kort.

Nvidia släpar fortfarande efter både Intel och AMD när det kommer till GPU-drivrutiner med öppen källkod – båda företagen släpper drivrutiner för öppen källkod och användarutrymme, såväl som fast programvara med stängd källkod. Men detta är det första steget mot öppen källkodsparitet för Nvidias Linux-drivrutinspaket.

Nvidias drivrutiner för öppen källkod stöder bara företagets Turing-baserade GPU:er och senare, inklusive GeForce GTX 1600-serien, RTX 2000- och 3000-serien, och Quadro-arbetsstations-GPU:er baserade på samma arkitektur. Företagets egna drivrutiner går tillbaka till 2012 års Kepler-arkitektur.

Drivrutiner med öppen källkod kommer inte heller ännu att integreras i Linux-kärnan, eftersom API, ABI och gränssnittet mellan kärndrivrutinen och GSP-firmware-gränssnittet enligt Phoronix inte är slutgiltiga. Detta innebär att allt från firmware till kärndrivrutin till drivrutiner för användarutrymme måste vara versionerade för att fungera korrekt (dagens version är R515.43.04). När dessa gränssnitt är klara kan drivrutinen skickas till kärnan, och de olika firmwareversionerna, kärndrivrutinerna och drivrutinerna för användarutrymme bör kunna samverka.

Nvidia säger att stödet för sina datacenter-GPU:er i nuvarande drivrutiner är ”produktionsfärdigt” i den här första versionen, men stödet för GeForce, Quadro och andra konsument-GPU:er är i ”alfakvalitet” – det är inte den typ av programvara du behöver. bråttom att installera om du inte vill sparka dess däck på ett testsystem eller bidra med kod själv.

Hector Martin, en av utvecklarna av Asahi Linux-distributionen, har kritiserat Nvidia för att ha flyttat in många funktioner till sin fasta programvara med stängd källkod, som drivrutinen för öppen källkod sedan kallar. Martin kallar drivrutinen för öppen källkod ”en ren vinst ur praktisk synvinkel” eftersom en massa proprietär kod passar lättare in i en sandlåda. ”Men ingen frihet har vunnits för de människor som bryr sig om det”, skriver han. ”[Ungefär] samma mängd kod stängd [som tidigare].”

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *