Panthor, Collaboras Treiber für Arm-Mali-GPUs der 10. Generation

Pantor

Panthor ist ein Open-Source-GPU-Kernel-Treiber für die Arm Valhall GPU

Kollaboration enthüllt über einen Blogbeitrag einer der jüngsten Meilensteine innerhalb ihrer präsentierten Werke, und zwar hat die lang erwartete Controller-Fusion angekündigt des Kernels Dadurch wird Unterstützung für Arm-Mali-GPUs der 10. Generation hinzugefügt in drm-div. Dieser Fahrer besser bekannt als „Panthor“, ist ein Open-Source-Treiber, der speziell für die Mali-GPU der 310. Generation (G510, G710, GXNUMX) entwickelt wurde.

Es wird erwähnt, dass die Fusion des Controllers eine zweijährige gemeinsame Anstrengung und Arbeit zwischen mehreren Entwicklern und Unternehmen darstellt. Collabora unterstreicht die Bedeutung der Zusammenarbeit bei der Entwicklung fortschrittlicher Technologien.

Arms Beteiligung an diesem Prozess war von entscheidender Bedeutung, da er nicht nur Zugriff auf wichtige Dokumentationen gewährte, sondern sich auch aktiv an der Überprüfung und Mitwartung des Kernel-Treibers beteiligte.

Die Entwicklung des neuen Treibers erfolgte zunächst durch Reverse Engineering, doch dann schloss sich ARM dem Projekt an, gewährte Zugang zur Dokumentation und beteiligte sich an der Codeüberprüfung. Zwei ARM-Mitarbeiter wurden zum Treiber-Co-Maintainer für den Linux-Kernel befördert. Sobald der OpenGL-Treiber fertig ist, wird sich die Arbeit in Zukunft auf die Implementierung eines Vulkan-Treibers für neue Mali-GPUs und die Aktualisierung des vorhandenen Vulkan-Treibers für ältere Mali-GPUs konzentrieren.

Dieser Fahrer nutzt CSF-Technologie (Command Stream Frontend) um einige Funktionen vom Controller auf die Firmware-Seite zu übertragen, was dazu beiträgt, die Belastung der CPU zu reduzieren und ein neues Modell für die Organisation der Arbeit auf der GPU bietet. Der Panthor DRM-Treiber (Direct Rendering Manager). wurde in den drm-misc-Zweig aufgenommen und wird voraussichtlich im Linux 6.10-Kernel enthalten sein. Mesa hat außerdem Änderungen zur Unterstützung des neuen Treibers vorgenommen, der im Panfrost Gallium-Treiber für Mali-GPUs enthalten sein wird.

In der neuen Generation der Mali-GPUs wird der Job-Manager-Scheduler durch eine CSF-Schnittstelle ersetzt, die anstelle eines befehlsflussbasierten Modells ein befehlsflussbasiertes Modell mit Befehlsflusswarteschlangenplanung auf der Firmware-Seite verwendet. Senden einer Kette von Arbeitsplätze. Dabei handelt es sich um die Integration eines separaten Cortex-M7-Mikrocontrollers in die GPU und einer speziellen Befehlsausführungseinheit zur Ausführung von CSF-Anweisungen. Diese Funktionen erfordern eine grundlegend andere Organisation, um Arbeit vom Benutzerbereich auf die GPU zu übertragen.

zunächst Es wurde versucht, Unterstützung für CSF-basierte Mali-GPUs im Panfrost DRM-Treiber zu implementieren. Die Entwickler kamen jedoch zu dem Schluss, dass dies den vorhandenen Controller überkomplizieren würde. Daher war es für CSF optimaler, einen neuen Controller mit einer anderen Architektur zu erstellen. Der Panthor-Controller implementiert eine völlig neue uAPI, eine neue Job-Scheduling-Logik und eine neue MMU/GPU-VA-Steuerungslogik. Es basiert auf dem vorhandenen DRM-Treibercode von Panfrost, aus dem typische Treiberinitialisierungs-, Frequenzsteuerungs- und Energieverwaltungsmuster übernommen werden.

Darüber hinaus Es wird erwähnt, dass der Kernel-Treiber die Anfrage zusammengeführt hat bringt mich zum Schmelzensa, das den Gallium-Treiber erweitert vorhanden, um die neuen Arm-Mali-GPUs der 10. Generation zu unterstützen. Zusammenarbeiten hat auch daran gearbeitet, sicherzustellen, dass Rockchip RK3588-basierte Boards kann über einen vollständig offenen Software-Stack geladen werden. Für Rockchip RK3588 wurden ein Debian-basiertes System-Image und ein offener Bootloader vorbereitet, um die proprietären BL31-Komponenten zu ersetzen (Bootloader-Stufe 3.1). Dies ist besonders wichtig für die RK3588-Plattformen von Rockchip, bei denen dank dieser Updates eine verbesserte Leistung und Effizienz erwartet wird.

Bei der Arbeit am Gallium-Treiber geht es nicht nur darum, die Unterstützung neuer GPUs zu ermöglichen, sondern auch die Leistung und Kompatibilität mit modernen Grafik-APIs zu optimieren. Diese Treibererweiterung ist Teil der fortlaufenden Bemühungen, ein außergewöhnliches Grafikerlebnis für eine Vielzahl von Geräten und Nutzungsszenarien zu bieten.

Wenn Sie daran interessiert, mehr darüber zu erfahrenkönnen Sie die Details überprüfen im folgenden Link.