Während der gerade erwähnte Anfang von Nouveau, GeForce RTX 30″Ampere”Open-Source-Unterstützung zu landen, aufregend ist, gibt es, wie bereits erwähnt, noch Hürden zu überwinden, um eine gute Open-Source-NVIDIA-Treiberleistung auf modernen GPUs zu haben. Eine ebenso aufregende Neuigkeit ist, dass Nouveau damit begonnen hat, einen Teil seines Codes in eine eigenständige Bibliothek umzuwandeln, damit er in Zukunft von anderen neuen Treibern verwendet werden kann.

In den letzten Tagen hat die Arbeit begonnen, den Code des Nouveau Mesa-Treibers um die Codegenerierung herum umzustrukturieren, damit er in einer eigenständigen Bibliothek leben kann.

Dies wird derzeit von David Airlie von Red Hat einfach wie folgt zusammengefasst: „Dies verschiebt nur den Codegen-Build in eine separate Bibliothek, dies ist nur eine Vorbereitungsarbeit für eine Zukunft, in der andere Treiber diesen Code wiederverwenden möchten. das ist nicht perfekt, um es an einen Vulkan-Treiber anzuschließen, aber um das zu tun, ist eine gründlichere Operation erforderlich.”

Im Grunde geht es bei diesen aktuellen Bemühungen darum, die Codegenerierung des Treibers in eine eigenständige Bibliothek innerhalb von Mesa zu verschieben, damit sie problemlos von anderem zukünftigen Code außerhalb von Nouveau Gallium3D wiederverwendet werden kann. Zu den wahrscheinlichsten Anwendungen mit dieser eigenständigen Bibliothek gehören:

-Arbeiten an einem Nouveau Vulkan-Treiber, während die Shader-Compiler-Codegenerierung zwischen den Treibern geteilt wird… Neben der Leistung war das Fehlen eines Open-Source-NVIDIA Vulkan-Treibers einer der Gründe die großen wunden Punkte für die Nouveau-Bemühungen im Jahr 2022, da die meisten Linux-Spiele entweder nativ oder über Steam Play die Vulkan-API nutzen können.

-Arbeiten an einem neuen Mesa-Treiber, um NVIDIAs kürzlich veröffentlichten Open-Source-Kernel-Treiber zu nutzen. Das ist auch sehr wahrscheinlich. Grundsätzlich kann es bei all den geänderten Kernel-Schnittstellen beim Vergleich des Nouveau DRM/KMS-Treibers mit NVIDIAs neuem Kernel-Treiber, an dem sie gearbeitet haben, einfacher sein, von einer saubereren Seite zu beginnen/den Nouveau-Treibercode explizit in einen separaten neuen Treiber zu verwandeln zielt auf diesen neuen Kerneltreiber ab. Dieser neue Treiber könnte sich auch nur auf die neueren Turing-GPUs und darüber hinaus konzentrieren, die von diesem Kernel-Treiber unterstützt werden, und die gesamte alte/Legacy-Unterstützung und andere Unordnung beseitigen, die sich im Laufe der Jahre im Nouveau Mesa-Code aufgebaut hat.

Oder sehr wahrscheinlich beide Szenarien.

Wie in den vorherigen Open-Source-Artikeln von NVIDIA beschrieben, benötigen NVIDIA, wenn sie ihren neuen Open-Source-Kernel-Treiber schließlich in den Upstream-Linux-Kernel integrieren möchten, einen entsprechenden Open-Source-User-Space-Treiber übt alle offengelegten Kernel-Schnittstellen aus… Da es unwahrscheinlich ist, dass NVIDIA seine OpenGL-oder Vulkan-Closed-Source-Treiber öffnen würde, müssten sie über NVIDIA-Ingenieure und ihre Red Hat-Partner mit der Mesa-Treibernutzung dieses neuen Kernel-Treibers aufwarten–entweder Anpassung ihres bestehenden Nouveau Gallium3D-Codes zur Unterstützung dieses Kernel-Treibers oder nach der Umstrukturierung des Mesa-Codes zu urteilen, könnte es in Form eines neuen Mesa-Treibers kommen.

In jedem Fall die ausstehende Änderung, um Nouveau zu verschieben Die Code-Generierung in eine eigenständige Bibliothek ist nur ein kleiner Anfangsschritt der viel größeren Bemühungen, einen neuen Open-Source-NVIDIA-Treiber in Mesa bereitzustellen. So wie es heute aussieht, hat dieser ausstehende Code keine unmittelbaren Auswirkungen auf die Endbenutzer. Zumindest passiert es und Red Hat arbeitet weiterhin mit NVIDIA an diesem mehrjährigen Open-Source-Treiberprojekt.

Bezüglich Nouveaus Upstream-DRM/KMS-Kernel-Treiber gab es in letzter Zeit keine größeren Arbeiten zu vermelden. Höchstwahrscheinlich werden wir sehen, dass dieser Treiber weiter stagniert und für diejenigen auf GPUs vor der Turing-Version bleibt, die den Open-Source-Treiber verwenden möchten… Zur Erinnerung: Dieser Treiber ist wirklich nur praktisch und leistungsfähig für GeForce GTX 600/700 „Kepler“-GPUs und GTX 750 „Maxwell1“-Hardware, bei denen eine Neutaktung erreicht werden kann, um die besten Leistungszustände zu erreichen. Red Hat-Ingenieure haben in den letzten Jahren hauptsächlich zum Nouveau-Kernel-Treiber beigetragen, und wenn sie alle ihre Ressourcen auf diesen modernen Open-Source-Kernel-Treiber von NVIDIA konzentrieren, erwarten Sie nicht, dass in Zukunft viel Code-Aktivität für diesen Open-source, rückentwickelter Kernel-Treiber.

Seien Sie gespannt auf Phoronix, während sich diese modernen NVIDIA-Open-Source-Treiberbemühungen weiterentwickeln – es wird wahrscheinlich noch einige Monate dauern, bis der NVIDIA-Open-Source-Kerneltreiber ein Kandidat für das Mainlining in den Kernel ist.

Categories: IT Info