Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
NewsNvidia unter Linux: Freie Kernel-Module kommen mit GeForce-Treiber-Serie 560
Nvidia hat im eigenen Entwickler-Forum angekündigt, dass mit der kommenden 560er Treiberserie freie Kernel-Module für Linux einziehen, die mit Grafikkarten ab der Turing-Generation (RTX 2000 oder GTX 16xx) zum Einsatz kommen können. Die Option zum Installieren des proprietären Modules bleibt bestehen.
Der Treiber besteht aus mehreren Komponenten, zum Beispiel den Modulen zur Ansteuerung der Hardware selbst oder um beispielsweise Vulkan-Befehle auf der Karte auszuführen. Normalerweise gibts alles proprietär von Nvidia als Treiber(Paket). Dort werden die Kernel-Module mit kommender Version 560 ganz auf Open Source setzen. Man könnte aber auch nur die Kerne Module nehmen und mit einem freien Vulkan Treiber (NVK) kombinieren um ohne den Nvidia Treiber auszukommen
vielleicht sollte man noch hervorheben, dass das zwar ein kernel-modul, aber nicht teil des kernels ist. d.h. es muss weiterhin separat installiert werden. bei amd/intel ist das schon alles im kernel drin.
Jetzt müsste der "freie" Kerneltreiber nur noch tatsächlich einen relevanten Funktionsumfang bieten und mehr sein, als nur ein glorifizierter Loader für den gigantischen Blob
Aber bei NV muss man ja um jeden Millimeter Entgegenkommen froh sein
Ist der "Blob" nicht einfach die Firmware auf der Graka selbst? Nicht ganz so frei wie die AMD Treiber, aber besser als binaries auf OS Ebene finde ich.
Schöne Entwicklung, nachdem ich selbst die Erfahrung gemacht habe, dass Nvidia unter Linux krebsig ist. Es geht auf jeden Fall in die richtige Richtung.
(Hoffentlich soweit, dass ich ganz auf Windows verzichten kann!)
Ist der "Blob" nicht einfach die Firmware auf der Graka selbst? Nicht ganz so frei wie die AMD Treiber, aber besser als binaries auf OS Ebene finde ich.
Jein.
Dieses Ding ist seit früheren Generationen deutlich größer geworden und übernimmt deutlich mehr Prozesse selbst die früher der Treiber gemacht hat.
Da liegt nahe dass man dort Dinge versteckt die man nicht im Treiber offen legen will. Hat ein gewissen komischen Beigeschmack.
Einerseits ja, andererseits gibt es gute technische Gründe dafür. Man will ja möglichst viel Aufgaben auf die GPU auslagern, um den Overhead auf der CPU für den Betrieb der GPU zu verringern. Treiber-Overhead war für Nvidia in jüngerer Vergangenheit tatsächlich auch ein Problem im Vergleich zu AMD (auch wenn das nur in speziellen Situationen zum Vorschein kam, wie "wir stecken eine 4090/7900XTX in einen Rechner mit i7 7700K").
na wenn es nur technische gründe sind, dann können sie ja ihre firmware auch öffnen oder zumindest das laden eigener firmware ermöglichen. geht nicht? hmm...
vielleicht sollte man noch hervorheben, dass das zwar ein kernel-modul, aber nicht teil des kernels ist. d.h. es muss weiterhin separat installiert werden. bei amd/intel ist das schon alles im kernel drin.
na wenn es nur technische gründe sind, dann können sie ja ihre firmware auch öffnen oder zumindest das laden eigener firmware ermöglichen. geht nicht? hmm...
Ich wills man so rum sagen: Ich bin mir sicher, dass Nvidia Dinge hat, die sie geheim halten wollen. Wenn sie diese Komponenten aus dem Treiber raus und in die Firmware rein verlagern, weil sie den Overhead reduzieren wollen, ermöglicht es ihnen als Nebenprodukt mehr Open Source zu machen, weil es dann nicht mehr darauf ankommt und es ja tatsächlich das Leben leichter macht. Aber ich glaube nicht daran, dass es hier um "Good Guy Nvidia" geht, die plötzlich mehr Open Source machen, weil sie ihre Meinung darüber grundsätzlich ändern.
Ergänzung ()
Marmormacker schrieb:
Ist das nicht der Weg hin zur künftigen Integration in den Kernel? Sorry, so richtig blicke ich da bis Heute nicht durch.
Ja, ist es generell, wenn Nvidia den eventuell steinigen Weg gehen will. Integration in den Kernel bedeutet eben auch, dass das dann durch den Code-Review der Kernel-Maintainer gehen muss, und ob der Code da durchkommen würde, ist eine offene Frage - längst nicht jeder eingereichte große Change kam da durch, über manche Themen wurde jahrelang gestritten, bis die endlich im Kernel angekommen waren, weil es so lange gedauert hat, bis das in einer akzeptablen Form vorlag.
Es kann durchaus sein, dass der offene Code in einer Art und Weise geschrieben ist, dass er von Torvalds und Co als inakzeptabel betrachtet wird, und daher - selbst wenn Nvidia das überhaupt versuchen sollte - nicht im Kernel aufgenommen wird.
es ist der richtige weg, ja. aber es ist noch längst nicht so bequem wie mit intel/amd. da dort alles "in-tree" ist, bekommt man bei einem neuen kernel-release gleich alles fertig mit. dieses nvidia-modul muss z.b. neu installiert werden, wenn man den kernel aktualisiert.
stefan92x schrieb:
Aber ich glaube nicht daran, dass es hier um "Good Guy Nvidia" geht, die plötzlich mehr Open Source machen, weil sie ihre Meinung darüber grundsätzlich ändern.
das ist richtig. wie ich das mitbekommen habe, haben im kommerziellen umfeld die leute auch immer weniger lust auf den maintenance-aufwand mit nvidia und da dort nunmal das geld sitzt, bewegt sich nvidia nun auch endlich mal etwas.
Das. Ein weiterer wichtiger Aspekt von diesem Vorgehen ist, dass architekturspezifische Dinge eben direkt auf der GPU verortet sein können, mit einem einheitlichen Interface zur CPU bzw. zum OS. Man muss quasi nur noch einen einheitlichen "BLOB" pro GPU-Architektur pflegen, mit einem dünnen Wrapper für das Ziel-OS. Weniger Aufwand, weniger Fehlerquellen etc...
Also weniger "Treiber" im OS dafür mehr "Treiber" der direkt auf der GPU läuft.
@riloka Wenn dir das einen Beigeschmack gibt, dann beschäftige dich lieber mal nicht mit Dingen wie z.B. Intel ME/AMT, CPU Microcodes usw... Viele Hardwarekomponenten (CPU, GPU, Netzwerkchip...) laufen nur noch mit irgendwelchen Firmware-Blobs. Und manche Hardware hat sogar dedizierte Co-Prozessoren auf denen teils ein eigenes "OS" läuft. Für Missbrauch ist die GPU da fast noch am uninteressantesten, da diese idR. keinen direkten Netzwerkzugriff hat.
Sicher. Macht AMD ja leider auch.
Nur ist der Blob bei NVidia eben bedeutend größer als bei AMD. Wenn man das also bei AMD (zurecht) kritisiert, dann muss man es bei NV gleich 5x kritisieren.
Wobei man dazu sagen muss, dass NVidia aber auch ein bisschen mehr Laufzeitumgebungen huckepack hat. Ich denke z.B. CUDA sowie das ganze DLSS/Tensor-Zeug wird da auch seinen Platz einfordern.