Raspberry Pi 4: Erste Software, Docker-Anpassungen, USB-C-Probleme

Fehler, Korrekturen und Neues rund um den Raspi 4

Trends & News | News

Der Raspberry Pi 4 kam ziemlich überraschend. Die neue Hardware hat viel Lob bekommen; was fehlt, ist passende Software. Nebenbei sind noch Probleme beim USB-C-und beim SD-Karten-Slot aufgefallen.

Nur wenige Auserwählte haben von der Raspberry-Pi-Foundation Vorabexemplare des Raspi 4 bekommen. Darunter aber auch Entwickler bekannter Projekte wie LibreELEC oder RetroPie. Die Zeit hat dennoch nicht gereicht, um zum Verkaufsstart fertige Software zu liefern. Am schnellsten war das LibreELEC-Projekt, auf dessen Homepage man ein erstes an dem Raspi 4 angepasstes Image der Kodi-Distro herunterladen kann. Das hat laut der Entwickler zwar noch Alpha-Qualität, aber funktionierte in einem kurzen Test einwandfrei. Auch der Hardware-Decoder für HEVC läuft bereits. HEVC kodiertes 4K-Material wird erwartungsgemäß flüssig und ohne nennenswerte CPU-Belastung abgespielt.

Das RetroPie-Projekt hat noch keine funktionierende Software für den Raspi 4 vorzuweisen. Der Open-Source-Grafiktreiber des Raspi 4 bringt wohl das grafische Frontend EmulationStation zu Fall, sodass man gar nicht erst dazu kommt, Spiele zu starten. Auch die kürzlich erschienene Version 4.5 von RetroPie bringt keinen Support für den Raspi 4, dafür aber für den Raspberry Pi 3 A+. Wann die Entwickler eine Raspi-4-kompatible Version veröffentlichen, bleibt abzuwarten.

Wer Emulatoren auf Raspbian Buster nutzen will, findet in dessen Repositories die Pakete retroarch und mehrere, die mit libretro beginnen. Die libretro-Pakete enthalten die RetroArch-Cores, also die eigentlichen Emulatoren für PlayStation 1, (S)NES und verschiedene Nintendo-Handhelds. Im Vergleich zu RetroPie ist die Anzahl der Plattformen mickrig.

Ein Nightly Build der zu RetroArch gehörenden Distribution Lakka läuft ebenfalls auf dem Raspberry Pi 4. Sie bringt zahlreiche Cores mit, von denen aber die für PlayStation 1, Dreamcast und N64 nicht funktionieren.

Mit reichlich Gebastel konnten die Kollegen von heise online die Emulatoren dennoch zur Mitarbeit auf dem Raspi bewegen und stellten in einem kurzen Test fest, dass er mitunter die doppelte Leistung des Vorgängers liefert. Besonders wählerische PlayStation-Spiele wie Tekken oder Ridge Racer liefen mit konstanter, zufriedenstellender Geschwindigkeit. Auf dem Raspi 3 B+ brach die Bildrate immer mal wieder ein.

Die Hoffnung auf eine signifikant schnellere Anbindung der SD-Karten am Raspi hat sich ebenfalls zerschlagen: mehr als 50 MByte/s sind nicht einmal theoretisch drin. Der MMC-Controller hat eine UHS-I-Schnittstelle und beherrscht maximal den DDR50-Modus, der nicht mehr als 50 MByte/s überträgt. Im Vergleichstest ließen wir zwei unterschiedliche SanDisk-SD-Karten gegeneinander antreten: eine wenige Jahre alte „Mobile Ultra“-Karte mit 16 GByte und eine neue „Extreme Pro“ mit 64 GByte nach A2-Spezifikation. Die ältere Karte schaffte im Raspi 36 MByte/s, die schnellere etwa 40 MByte/s. Die für die Reaktionszeiten von Software relevanten IOPS stiegen von 1600 auf 2000 mit der schnelleren Karte. Subjektiv startet beim direkten Vergleich zweier Raspi 4 der mit der fixeren Karte minimal schneller. Im Betrieb bemerkt man keinen Unterschied.

Das Wake-on-LAN-Feature des Raspberry Pi 4 liegt übrigens noch brach. Zwar meldet das Programm Ethtool, dass der verwendete Ethernet-Controller Wake-on-LAN per Magic Packet beherrscht, jedoch schlägt dessen Aktivierung fehl. Ob das Feature irgendwann kommt, bleibt abzuwarten.

Wer seinen Raspberry Pi mit einem aktiven USB-C-Kabel versorgen will, wird scheitern. Kabel mit integriertem Controller, wie sie etwa Apple-Netzteilen beiliegen, wählen den falschen USB-Betriebsmodus. Schuld ist der Aufbau der USB-C-Buchse des Raspis. Die Raspberry-Pi-Foundation hat nicht wie im USB-Standard vorgeschrieben das Anschlussdesign der Buchse kopiert, sondern Modifikationen daran vorgenommen. Im Detail hat man einen Widerstand gespart und so die Aushandlung des USB-C-Betriebsmodus sabotiert. Die Änderung führt dazu, dass der Chip in den aktiven Kabeln den Raspi als Audio-Gerät erkennt und dann keinen Strom liefert.

Die Foundation hat das Problem bereits eingeräumt und zukünftige Board-Versionen bekommen einen zweiten Widerstand. Wer bereits einen Raspi 4 besitzt, braucht ihn aber nicht zurückzuschicken: Ein „dummes“ USB-Kabel mit Typ-C-Stecker und ohne Controller schert sich nicht um Widerstände und Steuerleitungen, sodass der Raspberry Pi damit auf jeden Fall läuft – ein ausreichend dimensioniertes Netzteil vorausgesetzt.

Der →Widerstand R79 ist beim Raspi 4 fälschlicherweise mit beiden →CC-Leitungen des USB-C-Ports verbunden (grüner Kreis). Das führt →zu Aushandlungsproblemen mit aktiven Kabeln. (Bild: Raspberry Pi Foundation)

Freunde von Docker werden mit dem Raspi 4 nur über Umwege glücklich. Die in Raspbian enthaltende Fassung der Container-Runtime Containerd ist nämlich kaputt. Der Docker-Daemon läuft zwar, aber der Start eines Containers bricht mit einer Fehlermeldung ab. Grund dafür ist eine nicht gesetzte Kernel-Option. Alternativ hätte Raspbian auch eine neuere Fassung von Containerd einspielen können, die ohne die Kernel-Option auskommt. Es ist zwar ohnehin ratsam, die meist aktuelleren Pakete von Docker Inc. zu verwenden, aber bislang gibt es diese Docker-CE-Pakete für Raspbian nur als Nightly-Build. Wer risikofreudig ist, kann auch die für Debian gedachten armhf-Pakete verwenden. Dazu muss man nur das Convenience-Skript zur Docker-Installation ausführen und scheitern lassen. Anschließend ändert man die Datei /etc/apt/sources.list.d/docker.list ab. Dort tauschen Sie dann raspbian gegen debian und die 10 gegen buster aus. Nach einem Update der Paketquellen spielen Sie das Docker-Paket wie folgt ein:

sudo apt install \
--no-install-recommends docker-ce

Die Option no-install-recommends verhindert, dass Apt optionale Abhängigkeiten installiert, die auf Raspbian nicht funktionieren. Die Lösung ist natürlich nur ein temporärer Workaround. Sobald stabile Pakete für Raspbian auf download.docker.com verfügbar sind, sollten Sie die Änderungen an docker.list unbedingt rückgängig machen.

Einige Entwickler sind unglücklich mit dem neuen Raspi. Der Red-Hat-Entwickler Peter Robinson erklärte, das aktuelle Fedora 30 werde keinen Support bekommen. Frühestens werde das im Herbst erwartete Fedora 31 vielleicht grundlegende Unterstützung bieten. Hauptgrund dafür ist fehlender Support im offiziellen Linux-Kernel.

Die neuen Funktionen wie Gigabit-Ethernet und USB 3.0 sind dabei unproblematisch, weil die auf bekannten Bausteinen aufbauen. Wie c’t aus Kernel-Entwicklerkreisen erfahren hat, fehlt aber Support für grundlegende Dinge wie den PCI-Express-Controller und DMA; erschwert wird die Entwicklung durch die Tatsache, dass die Dokumentation für den verwendeten SoC noch fehlt. Erster grundlegender Support dürfte daher frühestens in Linux 5.4 einfließen, das zum Winter erscheinen dürfte; womöglich dauert es aber noch länger. (mls)

Mit Raspberry, Arduino & ESP kann sich eigentlich jeder an eigene Elektronikbasteleien wagen. Rund um die Einplatinencomputer hat sich eine vielfältige Hard- und Softwarelandschaft mit hochaktiven Communities entwickelt. c’t Projekte 2019 führt in diese Welt ein, stellt einige Plattformen vor und vermittelt das nötige Know-how. Lassen Sie sich von den Projekt-Ideen inspirieren. In zahlreichen Bau- und Programmiervorschlägen finden Sie Anleitungen zum Nachbau und Anregungen für eigene Ideen.

Das Sonderheft c’t Projekte ist im heise shop und am Kiosk für 12,90 Euro erhältlich. Die digitale Ausgabe für 9,99 Euro finden Sie im heise shop sowie in den c’t-Apps für iOS und Android und bei Amazon.


Dieser Artikel stammt aus c't 16/2019.

Kommentare

Kommentare lesen (104 Beiträge)

Anzeige