Nvidia: GPL verhindert Treiberentwicklung

Im Streit um Nvidias Treiber und die Unterstützung seiner Optimus-Technologie hat Nvidia vorgeschlagen, die GPL-Lizenz der DMA-Buffer-Schnittstelle des Linux-Kernels zu entfernen. Alan Cox und weitere Kernel-Entwickler sind dagegen. Der Betreuer des Grafikstacks David Arlie hingegen zeigt Verständnis für Nvidias Einwände.
Es geht in erster Linie um Nvidias Bestreben, seine proprietären Treiber für seine Optimus-Technologie auch unter Linux anzupassen. Damit wird nur im Bedarfsfall eine leistungsfähigere GPU hinzugeschaltet. Solche Grafikkarten kommen in erster Linie in Laptops und mobilen Geräten zum Einsatz.
DMA-Buffer ohne GPL
Damit der proprietäre Treiber ordentlich funktioniert, will Nvidia die vom Linux-Kernel bereitgestellte DMA-Buffer-Schnittstelle nutzen. Damit können Framebuffers effizient von verschiedenen GPUs genutzt werden – auch von anderen offenen oder proprietären Treibern. Solange die Schnittstelle unter der GPL (EXPORT_SYMBOL_GPL) steht, darf Nvidia aber nicht mit seinen proprietären Treibern darauf zugreifen. Der Nvidia-Entwickler Robert Morell hatte einen Patch eingereicht, der das API mit EXPORT_SYMBOL versehen sollte, also dessen GPL-Lizenz entfernt.
Der Patch wurde von den zuständigen Kernel-Entwicklern Mauro Carvalho Chehab und Alan Cox abgelehnt. Cox schrieb(öffnet im neuen Fenster) , dass eine solche Änderung "mindestens die Zustimmung aller Rechteinhaber des entsprechenden Codes" benötige. Er gab auch zu bedenken, dass auch ohne GPL die Nutzung der DMA-Buffer-Schnittstelle in Kombination mit proprietärem Code gegen die GPL verstoßen könnte.
Zustimmung von Kernel-Entwicklern
Zunächst hatte der DMA-Buffer-Entwickler Rob Clark(öffnet im neuen Fenster) als einziger seine Zustimmung zur Lizenzänderung gegeben. Er sehe dazu keine Alternative, schreibt er.
Inzwischen gibt auch Arlie zu bedenken, dass die Schnittstelle auch von anderen proprietären Treibern genutzt werden soll, darunter von einigen für ARM-SoCs. Mit der künftigen Version 3 des Direct Rendering Interface (DRI-next) werde DMA-Buffer eine immer größere Rolle spielen. Auch wenn die Kernel-Entwickler es nicht gerne sehen, der Nvidia-Treiber werde intensiv von Anwendern genutzt. Er bevorzuge eine funktionierende Lösung für Anwender, statt dass Nvidia noch mehr Userspace- und Kernel-Code durch ihren eigenen ersetzen(öffnet im neuen Fenster) .
10 Prozent der Kernel-Symbole unter der GPL
Wie ein Artikel auf LWM.net erläutert(öffnet im neuen Fenster) , stehen weniger als 10 Prozent aller Symbole im Linux-Kernel unter GPL, Tendenz steigend. Zwar lassen sich mit wenigen Handgriffen auch proprietäre Treiber so anpassen, dass sie mit den GPL-Symbolen verwendet werden können, allerdings wird das dann als offensichtlicher Verstoß gegen die GPL gewertet.
Der Streit um Nvidias mangelnde Unterstützung für Optimus entbrannte vor einigen Monaten, als sich Linus Torvalds deshalb während eines Vortrags mit einem Stinkefinger an Nvidia wandte . Eine Zuschauerin hatte sich beschwert, dass sie auf ihrem Laptop Optimus nicht unter Linux nutzen könne.
Die Diskussion zwischen den Kernel-Entwicklern kann im Thread in der Mailingliste Linaro-mm-sig(öffnet im neuen Fenster) verfolgt werden.