Visionfive 2 im Test: Der erste RISC-V-Prozessor mit 3D-Grafik ist herausfordernd
Eine Alternative zum Raspberry Pi ist der Visionfive 2 derzeit nicht - wer etwas von Linux und Software-Kompilierung versteht, kann aber mit viel Spaß eine neue Plattform ergründen.
Bislang waren Single Board Computer (SBC) mit RISC-V-Chips eher etwas für versiertere Bastler, der breiten Masse fehlte vor allem eines: eine leistungsfähige Grafikeinheit. Die versprach das chinesische Unternehmen Starfive mit seinem zweiten selbst entwickelten System on Chip (SoC) namens JH7110. Vier RISC-V-Kerne und eine 3D-Grafikeinheit - klingt interessant, also haben wir uns einen mit dem JH7110 bestückten Visionfive-2-SBC besorgt und mit dem Raspi verglichen.
Im Test stehen sich der Visionfive 2 mit 4 GByte und ein Raspberry Pi 4 mit 2 GByte Arbeitsspeicher gegenüber. Beide takten die vier Prozessorkerne ihrer SoCs mit 1,5 GHz und implementieren die jeweiligen 64-Bit-Befehlssätze. Beim Arbeitsspeicher unterscheiden sich die Boards kaum: Beide nutzen LPDDR4-RAM, beim Raspberry Pi 4 getaktet mit 1.600 MHz (3.200 Megatransfers/s, MT/s), der Speichercontroller des JH7110 schafft laut Datenblatt (PDF) nur 2.800 MT/s.
Die Ausstattung des JH7110 klingt attraktiv, seine vier U74-Prozessorkerne stammen von Sifive, die BXE-4-32-MC1-Grafikeinheit kaufte Starfive von Imagination Technologies zu. Außerdem sind Decoder für H264, H265 (beide 4K bei 60 fps) und JPEG sowie Encoder für H265 (1080p bei 30 fps) und JPEG verbaut. Auch für AES und diverse Hashing-Algorithmen ist Beschleunigerhardware vorhanden. Zudem integrierte Starfive einen PCIe-2.0-Block mit zwei Lanes.
Dementsprechend üppig fällt die Anschlussvielfalt des Visionfive 2 aus, das mit 100 x 74 mm etwa dem Pico-ITX-Format entspricht: Der HDMI-2.0-Ausgang sitzt zwischen zwei Ethernet- und vier USB-3.0-Buchsen, daneben können zwei Displays und eine Kamera per Flachkabel angeschlossen werden (MIPI DSI und CSI). Auf der Rückseite befinden sich die Speichermedien: ein Slot für SD-Karten, ein eMMC-Steckplatz und sogar ein M.2-Steckplatz für NVMe-SSDs. Der ist allerdings nur mit einer Lane angebunden, die andere geht zum USB-3.0-Controller. Mit 500 MByte/s wäre die SSD aber noch immer wesentlich schneller als SD-Karte und eMMC-Modul.
GPIO-Leiste passt zu Raspberry-Pi-Modulen
Über eine 40-polige Stiftleiste sind 28 GPIOs leicht erreichbar, einige davon können mit verschiedenen Controllern (CAN, I2C, I2S, SPI, UART) verbunden, per PWM-Modul oder einfach mittels Software angesteuert werden. Bei der Stiftleiste stellt sich natürlich gleich die Frage: Ist sie kompatibel zum Raspberry Pi? Ein Vergleich der Pin-Belegungen zeigt, dass sie größtenteils identisch sind. Die Spannungsversorgung findet sich an den gleichen Stellen, das Gleiche gilt für UART, SPI, I2C und PWM. Auch werden die GPIOs wie beim Raspberry Pi mit 3,3 Volt betrieben.
Ob I2S sich auf dieselben Pins legen lassen und die Konfigurations-EEPROMs einiger HAT-Module ausgelesen werden können, konnten wir allerdings auch anhand des Datenblatts des JH7110 nicht herausfinden. Auf jeden Fall sollten die meisten für den Raspberry Pi entworfenen Aufsteckmodule funktionieren.
Zuerst muss der Visionfive 2 allerdings mit Strom versorgt werden. Das funktioniert per USB-C-Buchse, über die 5-Volt-Pins der Stiftleiste oder Power over Ethernet. Der Power-Management-Chip unterstützt USB Power Delivery (PD) 2.0 und Quick Charge 3.0, mit unserem Pinepower-Netzteil einigt er sich auf eine Versorgungsspannung von 12 Volt. Maximal kann das Board per USB PD 30 Watt aufnehmen, der Hersteller empfiehlt mindestens ein 15-W-Netzteil. Ein 5-Volt-Netzteil sollte also 3 Ampere Strom liefern können.
Einfach loslegen? Nicht ganz.
Bereits bei der Inbetriebnahme stellt sich heraus: Es sind etwas tiefere Kenntnisse gefragt als beim Raspberry Pi. Das aktuelle Debian-Image ist schnell über das Torrent-Netzwerk heruntergeladen und Starfive hat es auch in einem Google Drive abgelegt. Herunterladen können wir es von dort aber nicht: Das Download-Kontingent ist überschritten. Starten will der Visionfive damit erst einmal nicht.
Die Lösung finden wir im Forum, das den offiziellen Support darstellt: Wir müssen zunächst den Bootloader U-Boot aktualisieren. Mit UART-zu-USB-Kabel und TFTP-Server ist das schnell erledigt, alternativ könnte man zunächst mit dem alten Betriebssystem-Image starten und von Linux aus dem Flash-Speicher des Bootloaders aktualisieren. Das hieße aber, noch einmal 8 GByte herunterzuladen.
Nach einiger Zeit sehen wir den Anmeldebildschirm und können mit den eigentlichen Tests beginnen.