In tegenstelling tot AMD en Intel, heeft Nvidia voor zijn grafische kaarten nooit open source drivers voor Linux uitgebracht. Nvidia-kaarten worden daarom niet standaard ondersteund in veel Linux-distributies en het kost soms extra moeite om ze goed te laten werken. Daar lijkt verandering in te komen met nieuwe modules die Nvidia beschikbaar stelt.
Fabrikant van grafische kaarten Nvidia heeft nu voor het eerst wel kernelmodules voor zijn GPU’s in een opensource-variant gepubliceerd, wat een schok teweeg heeft gebracht in de Linux-gemeenschap. Al is er ook kritiek op wat er nu echt veranderd is.
Nvidia Linux opensource drivers
Terwijl de grafische stuurprogramma’s van concurrenten AMD en Intel in de hoofdkernel zitten, heeft Nvidia lange tijd een speciale rol gespeeld met zijn eigen kernelmodules. Beginnend met de eerste versie van de R515 driver serie, die momenteel beschikbaar is als bèta, geeft Nvidia de modules uit onder GPLv2 en MIT licenties.
De open-source modules zijn nog niet geschikt voor integratie in de mainline kernel van Linux, maar Nvidia wil hier samen met kernelontwikkelaars en -distributeurs aan werken. Op lange termijn zou de al veel langer beschikbare opensource driver Nouveau moeten profiteren van die ontwikkeling. Nouveau moest het tot nu toe hebben van reverse engineering.
Omdat Nvidia’s drivers niet opensource waren, werden nieuwe Linux-ontwikkelingen zoals Wayland niet of slechter ondersteund.
Toepasbaarheid en mogelijkheden
De nieuwe open-source driver is tot nu toe alleen compatibel met GPU’s van de Ampere- en Turing-generatie, omdat het de GSP (GPU System Processor) vereist, die in 2018 met Turing arriveerde. Eigenaars van oudere kaarten zijn nog steeds afhankelijk van de propriëtaire kernelmodules of moeten het doen met de Nouveau driver.
Nvidia plaatst alleen de kernelcomponenten van de driver onder open source-licenties; het bedrijf geeft geen openheid over de inmiddels loodzware firmware en de userspace-componenten zoals CUDA, OpenGL en Vulkan. In eerste instantie richt Nvidia zich op de ondersteuning van GPU’s voor datacentra, die al productief kunnen worden gebruikt met de open-sourcemodules.
Nvidia geeft de code voor desktop en workstation gebruikers de beoordeling ‘alpha kwaliteit’. Volgens de documentatie ontbreken belangrijke functies zoals G-Sync, Quadro Sync, SLI, stereo, rotaties onder X en YUV 4:2:0 voor Turing kaarten nog.
Nvidia drivers toevoegen aan Linux
De open source-modules maken het voor Linux-distributeurs gemakkelijker om het stuurprogramma in hun systemen te integreren. SUSE is van plan de modules mee te leveren met SUSE Linux Enterprise 15 SP 4, Canonical wil de driver binnenkort toevoegen aan Ubuntu 22.04 LTS. Omdat de kernel modules dan ondertekend zijn, zou Secure Boot niet langer in staat moeten zijn om ze te blokkeren.
De nieuwe driver is niet geschikt voor dagelijks gebruik – maar dappere gebruikers kunnen hem alvast uitproberen: De open-source modules kunnen worden gedownload op de website van Nvidia. Naast de open-source modules bevat het pakket ook de vorige proprietaire modules. Gebruikers moeten een van de varianten kiezen. Instructies voor de niet geheel triviale installatie zijn te vinden in de documentatie.
Kritiek en vooruitzichten
De nieuwe drivers zijn dan wel opensource, kritiek is er ook. Volgens Linux-ontwikkelaars lijkt veel propriëtaire code nu in de firmware te zitten, terwijl de opensource driver die vooral aanroept. Dat is ook zo bij AMD, maar veel beperkter. Aanpassingen aan de code worden ook niet afzonderlijk op GitHub gedocumenteerd volgens de FAQ van Nvidia zelf, waardoor derden hier minder zicht op hebben.
Nvidia hoopt zelf dat de opensource drivers uiteindelijk toegevoegd kunnen worden aan de Linux-kernel. Dat kan het gebruik van pc’s met GeForce-hardware onder Linux in elk geval een stuk makkelijker maken, zoals dat met AMD- en Intel-gebaseerde pc’s al langer is.