Der Rockchip RK3588 gilt als einer der leistungsfähigsten und vielseitigsten System-on-Chip (SoC)-Prozessoren für Embedded-Systeme und Single-Board-Computer (SBCs). Seine umfangreichen Funktionen machen ihn zu einem Favoriten bei Hardware-Herstellern und Entwicklern, die nach hoher Leistung gepaart mit moderner Architektur suchen. Im Bereich des Linux-Ökosystems ist eine stetige und umfassende Upstream-Unterstützung von großer Bedeutung, um langfristige Stabilität und verbesserte Kompatibilität zu gewährleisten. Der Stand der Upstream-Linux-Unterstützung für den RK3588 hat sich in den letzten Jahren stark verbessert, und 2024 markiert einen wichtigen Meilenstein mit zahlreichen erfolgreichen Implementierungen und optimierten Treibern. Dieser Bericht reflektiert die jüngsten Fortschritte, laufende Entwicklungen und die zukünftigen Perspektiven im Bereich der Kernel-Unterstützung sowie verwandter Open-Source-Komponenten für den RK3588.
Die Entwicklung linearisierte sich maßgeblich mit der Veröffentlichung des Linux-Kernels in der Version 6.7. Zu diesem Zeitpunkt wurde erstmals die nötige Grundlage geschaffen, um Netzwerkunterstützung auf populären Boards wie dem Radxa ROCK 5B bereitzustellen. Interessanterweise war Ethernet-Support auf Chip-Ebene schon zuvor eingebunden, doch einige Boards blieben zugunsten von PCIe-basierten Netzwerkkarten zurückhaltend. Diese bieten den Vorteil von 2,5-Gigabit-Ethernet, während die native Ethernet-Schnittstelle des RK3588 1 Gigabit unterstützt.
Das Aktivieren von PCIe verlangte einige besondere Anpassungen, um die Interrupt-Nachrichten kompatibel mit dem auf dem RK3588 verbauten Generic Interrupt Controller (GIC) zu gestalten. Diese Integrationen benötigten aufgrund ihrer Komplexität und der Abstimmung zwischen verschiedenen Entwicklerteams Zeit. Mit Kernel 6.8 gelang der erste Durchbruch bei der Aktivierung eines von drei USB 3.0-Controllern, was auch dank geteiltem PHY-Support für PCIe erleichtert wurde.
Zeitgleich leistete Andy Yan von Rockchip entscheidende Beiträge zur Anzeigeunterstützung, indem er die Basiselemente des Video Output Controllers (VOP) upstream-fähig machte. Dieser VOP ist essentiell für Funktionen wie HDMI, DisplayPort oder DSI. Parallel dazu begann die Aufbereitung und Bereinigung des HDMI-Ausgabetreibers durch Cristian Ciocaltea, um dessen Integration in den Mainline-Kernel zu ermöglichen. Im Linux-Kernel Versionssprung 6.9 wurde schließlich die HDMI PHY-Unterstützung, aufgeteilt in einen separaten Treiber, implementiert.
Während dieser Schritt die physikalische Schicht der HDMI-Ausgabe abdeckte, fehlte noch die Unterstützung des HDMI-Controllers selbst, welcher aufgrund seiner Komplexität weiterhin eine Herausforderung darstellte. Die darauf folgende Kernel-Version 6.10 brachte wichtige Erweiterungen, darunter die GPU-Unterstützung für die Mali-G610-Architektur, die im RK3588 integriert ist. Ein Team bei Collabora arbeitete engagiert an der Treiberentwicklung, um hardwarebeschleunigte 3D-Grafik zu ermöglichen. Zudem wurde die gesamte USB-Unterstützung durch das Upstreaming des USBDP PHY abgeschlossen, sodass neben USB auch Infrastrukturen für DisplayPort über USB-C erstmals möglich wurden, wenngleich das USB-PD-Management weiterhin komplizierte Hürden darstellte und noch in der Implementierung war.
Mit der Kernelversion 6.11 erfolgte die Integration der CPU-Frequenzskalierung. Diese ermöglicht eine dynamische Anpassung der Taktfrequenz und steigert so sowohl Effizienz als auch Leistung des SoCs. Dabei wurde die bereits im Vorjahr eingebundene Thermal-ADC-Unterstützung mit generischen Linux-eigenen cpufreq-Treibern kombiniert und Device Trees so umgestaltet, dass auch Varianten wie der RK3588J mit spezifischen Operating Points abgedeckt werden können. Modernere, chip-spezifische Frequency-Scaling-Methoden, die Auskunft über Siliziumqualität und weitere Parameter einbeziehen, werden aktuell noch erforscht und sollen zukünftig für maximale Performance sorgen, ohne die Systemstabilität zu gefährden.
Im 6.12-Kernel-Release ergänzten weitere Hardware-Beschleuniger die Unterstützung. So wurde der RGA2-Block für beschleunigte 2D-Grafikoperationen wie Skalierung, Rotation oder Alpha-Blending via Video4Linux2 einsatzfähig gemacht. Zudem kamen Komponenten zur hardwarebeschleunigten JPEG-Kodierung und zur effizienten Dekodierung von Formaten wie VP8, MPEG2 und H264 hinzu. Diese Fortschritte erweitern die Multimedia-Fähigkeiten des RK3588 beträchtlich und machen ihn für Videoanwendungen und Encoder-Decoder-Aufgaben immer attraktiver.
Ein spannender Ausblick fällt auf den kommenden Linux-Kernel 6.13, der voraussichtlich die lang erwartete Unterstützung der HDMI-Displayausgabe bringen wird. Erste Integrationserfolge bei dem HDMI-Controller wurden bereits vermeldet, wenngleich die Funktionalität aktuell noch eingeschränkt ist. Erweiterte Features, darunter Unterstützung für verschiedene Taktraten, die notwendig sind, um eine breite Palette an Displayauflösungen abzudecken, stehen auf der To-Do-Liste der Entwickler. Darüber hinaus ist Audio- und CEC-Support über HDMI geplant, was die Multimedia-Komplettlösung abrunden wird.
Neben der Anzeige arbeitet die Entwickler-Gemeinschaft auch an der HDMI-Capture-Funktionalität mittels eines V4L2-Treibers. Ziel ist es, die Komponente vollständig V4L2-konform und somit stabil und performant im Mainline Kernel verfügbar zu machen. Diese Entwicklung befindet sich in einem aktiven Stadium und soll im Laufe des Jahres 2025 erstmals implementiert werden. Wichtige Ergänzungen sind ebenfalls im Bereich MIPI DSI (Display Serial Interface) in Arbeit, welches mit Eingangsversionen zur Überprüfung in den Mailinglisten vorliegt. Die Integration von MIPI DSI wird die Einsatzmöglichkeiten des RK3588 in verschiedensten Display-Applikationen weiter öffnen.
Auch im Codec-Bereich gibt es Fortschritte. Arbeiten an der Unterstützung des VDPU381-Blocks zur H264-Dekodierung gelangen voran, auch wenn momentan noch Herausforderungen bezüglich des IOMMU (Input-Output Memory Management Unit) Managements und der Parallelisierung auf den zwei verfügbaren Hardwarekernen bestehen. Die Entwicklung eines passenden Schedulers für V4L2-Codecs ist eine der noch zu lösenden Aufgaben. Ein überraschender Erfolg im Jahr 2024 war die erstmalige Veröffentlichung eines komplett quelloffenen Kernel- und Mesa-Treibers für die Neural Processing Unit (NPU) des RK3588, basierend auf Reverse Engineering. Dies stellt einen bedeutenden Schritt in Richtung vollständig freier und offener Hardwareunterstützung dar und eröffnet vielfältige Nutzungsmöglichkeiten in den Bereichen Machine Learning und künstliche Intelligenz.
Nicht nur der Linux-Kernel macht Fortschritte, auch der frühe Bootprozess wurde optimiert. Bereits seit 2023 ist die Unterstützung des RK3588 im Bootloader U-Boot weitgehend integriert. Eine wesentliche Lücke war der Umgang mit USB Power Delivery (USB-PD), welcher für bestimmte Rockchip-Boards frühzeitig gehandhabt werden muss. Nach umfangreichen Überarbeitungen gelang es, diese Funktion im U-Boot Master-Branch zu integrieren, wobei die endgültige Veröffentlichung mit Version 2025.01 erwartet wird.
Die Trusted Firmware-A (TF-A) des RK3588 wurde ebenfalls als Open Source freigegeben und wird Teil der nächsten Version (2.12) sein, wobei DDR-Memory-Training bisher noch proprietär ist. Die Entwicklungsgemeinschaft um Collabora, Rockchip selbst sowie viele weitere Mitwirkende aus der Open-Source-Community haben durch ihre kontinuierliche Arbeit das Ökosystem rund um den RK3588 deutlich verbessert. Es sind bereits verschiedene Entwicklungskits und Test-Images verfügbar, die eine solide Basis für Entwickler und Anwender darstellen. Besonders Nutzer von Distributionen wie Debian, Ubuntu oder ArchLinux erhalten durch den Mainline-Kernel Unterstützung für immer mehr hardwarebezogene Features des RK3588.
Die Upstream-Linux-Unterstützung für den RK3588 bleibt eine dynamische Entwicklung. Es gilt als sicher, dass mit Kernel-Versionen 6.14 und darüber hinaus weitere bedeutende Funktionen wie erweiterter Display-Support, HDMI Audio, neue Codecoptionen und verbesserte IOMMU-Integration folgen werden. Gleichzeitig steigen auch Herausforderungen, insbesondere bei der kompletten Abdeckung aller Multimedia-Hardwareblöcke und der vollständigen Leistungsoptimierung. Die Zukunft des RK3588 unter Linux sieht vielversprechend aus.
Die Integration wichtiger Hardwarekomponenten in den Mainline-Kernel ermöglicht es Hardwareherstellern, Systemintegratoren und Entwicklern, stabile, offene und robuste Plattformen zu erstellen. Die enge Zusammenarbeit zwischen Unternehmen wie Rockchip, Collabora und der Linux-Gemeinschaft stellt sicher, dass die Upstream-Linux-Unterstützung nicht nur gewährleistet, sondern auch kontinuierlich verbessert wird. So kann das Potenzial des RK3588 langfristig ausgeschöpft und innovative Anwendungsfelder erschlossen werden.