Test Armbian v24.2.0 Linux Image mit Xfce für Banana Pi BPI-M6

Wer den neu auf den Markt gekommenen Banana Pi M6 noch gar nicht kennt, sollte sich meine vorhergehenden Artikel als erstes durchlesen. Zum einem die allgemeine Vorstellung des Banana Pi BPI-M6 und dann vielleicht noch meine Anleitung, wie man Images, also Betriebssystemabbilder wie die Android Tablet Firmware ins eMMC hochlädt / flasht.

Wer sich auch für das Android Image interessiert, der kann sich auch noch den Artikel Banana Pi BPI-M6: Test des Android Tablet Images zu Gemüte führen, der außerdem noch etwas zur Kühlung verrät.

Als letztes hatte ich das Ubuntu-Image 2024-01-15 für den Banana Pi BPI-M6 getestet. Das war halbwegs brauchbar, hatte aber das Problem, dass es stumm blieb und man nirgends Sound hatte, auch nicht in den zahlreich vorinstallierten Programmen. Auch war die Performance bei der Wiedergabe von Youtube-Videos nicht besonders und der Chromium-Browser, der vielleicht eine bessere Performance gehabt hätte, weil wie Youtube aus dem Hause Google, ließ sich erst gar nicht installieren.

Heute schaue ich mir das neue Armbian v24.2.0 Linux Image vom 29. Februar 2024 an. Und zwar die Version mit Xfce, einem Desktop-Leichtgewicht. Es gibt auch Versionen ohne Desktop, aber diese fand ich am vielversprechendsten in Performance / Komfort-Ausgewogenheit.

Das Image downloaden und auf SD-Karte flashen

Links zum Image findet man im Banana-Pi-Wiki im Abschnitt Linux-Images und zwar für Baidu (China) und Google (USA). Nach dem Download von dort muss man die Pakete noch einmal entpacken, zum Beispiel mit 7zip.

Um das Image auf eine µSD-Karte zu flashen, habe ich das altbewährte Balena Etcher hergenommen, mit dem ich auch schon meine erste Boot-SD für den Raspberry Pi geflasht habe. Eine Anleitung, wie man mit Etcher eine SD Karte beschreibt, findet ihr unter dem Link im Abschnitt Image laden und flashen / Etcher. Es ist aber eigentlich ganz einfach: SD-Karte rein, Etcher laden, SD Karte und Image auswählen, "Flash!" anklicken. Und schon ist das Image auf der SD-Karte.


Doch Vorsicht! Bei diesem Image wird eine Bootpartition auf die SD-Karte geschrieben, die von Windows nicht erkannt wird. Die Frage von Windows, ob man die gerade durch Etcher beschriebene Karte formatieren will, auf jeden Fall verneinen! Im Banana Pi läuft sie trotzdem. Nur Windows erkennt sie nicht mehr.

Dummerweise damit auch nicht mehr Etcher unter Windows und zeigt die SD-Karte mit Banana-Pi-Image darum erst gar nicht als Auswahl zum wieder-überschreiben an. Doch das ist kein Grund zu Verzagen, denn es gibt da ein Programm namens SD Card Formatter. Der erkennt die Karte immer noch und man kann sie wieder mit einem Windows-bekannten Format formatieren, etwa FAT32 oder NTFS. Danach erkennt auch Etcher die SD-Karte wieder und man kann erneut ein Image darauf schreiben.

Was ist Armbian?

Wie man an der Wortkreation vielleicht schon erkennen mag, ist Armbian ein auf Debian basierenden Linux-Betriebssystem für Einplatinencomputer mit ARM Prozessor.

ARM stand ursprünglich für Acorn Risc Machine, später für Advanced RISC Machines Ltd.. Der britische Computerhersteller Acorn wagte in den 1980er Jahre eine neue Prozessorarchitektur: Statt CICS, was für complete instruction set computer und damit einen Prozessor mit einem vollständigen Befehlssatz steht, wie beim Motorola 68000 (z. B. Commodore Amiga) oder intel 8086 (z. B. IBM PC) versuchte es Acorn mit einem RISC, stehend für reduced instruction set computer, also einem reduzierten Befehlssatz für die Op-Codes des Prozessors. Das ermöglichte ein einfacheres Design und sparte Kosten, machte allerdings aufgrund weniger Befehle das Programmieren in Assembler ein wenig umständlicher. Es stellte sich aber heraus, das RISC-Prozessoren nicht unbedingt langsamer sein müssten als CICS-Prozessoren. Acorn hat übrigens nicht den ersten RISC-Prozessor entwickelt, denn eigentlich war der MOS 6502 auch schon eine CPU mit wenigen und effizienten Befehlen. Heute haben ARM-Chips die Vorherrschaft im Bereich von Mobilgeräten, Smartphones und IoT-Geräten.

Debian hat natürlich auch seine eigene Geschichte, aber kurz zusammengefasst ist Debian GNU/Linux eine alteingesessene Linux-Distribution, die es seit 1993 gibt. Sie zeichnet sich dadurch aus, schlank und stabil zu sein und viele Mitentwickler zu haben.

Eine Abwandlung von Debian, die speziell beim ARM-Prozessoren und Einplatinencomputer zugeschnitten ist, das ist dann Armbian. Da Armbian auf Debian basiert, gibt es für jede Debian-Version wenig später auch einen Armbian-Abwandlung.

Booten des Images im Banana Pi

Danach kommt die µSD-Karte in den stromlosen Banana Pi. Beim Einschalten dessen muss man dann den kleinen SPI-Taster zwischen den beiden HDMI-Buchsen für ein paar Sekunden gedrückt halten, damit der BPI-M6 auch von SD-Karte bootet.


Nach dem Wiederloslassen von SPI heißt es ein paar Sekunden Geduld und abwarten, solange der Bildschirm am HDMI-Ausgang schwarz bleibt. Aber dann erscheint der Login-Prompt:

Der Username ist nicht wie gewohnt "Pi" und das Passwort auch nicht "banana" oder "bananapi", sondern wie wir im Getting-Started-Guide auf der Armbian-Homepage erfahren
Username: root Password: 1234
Damit kommen wir dann weiter bzw. können uns einloggen. Das Root-Passwort sollte man für den Echtbetrieb aus Sicherheitsgründen natürlich ändern und einen oder mehrere User wie zum Beispiel "pi" anlegen, die keine Root-Rechte von Haus aus haben (dafür gibt es ja sudo), aber für den ersten Test lassen wir das jetzt einfach mal so.


Nach dem Login können wir uns auch schon auf Entdeckungsreise durch das System machen und herausfinden, was so alles schon vorinstalliert ist.

Kleiner Spoiler: das ist nicht soviel wie beim Ubuntu-Image, was aber kein Problem ist, weil wir ja auch hier alles nachinstallieren können.

Das geht mit dem Synaptic Package Manager, den wir unter Application/System finden, einfach bewerkstelligen.

Außerdem gibt es dort neuerdings den Eintrag XSensors, mit dem wir eine praktische, kleine Temperaturanzeige starten können, die uns anzeigt, wie warm die CPU im Augenblick ist.

Die zeigt mir im Idle um die 55-57°C bei ca. 4 Watt Verbrauch an und zwar ohne aktive Kühlung, sondern nur mit dem kleinen Kühlkörper. Schalte ich den Lüfter dazu, sind es um die 45°C.

Die vorinstallierten Programme, die die Ubuntu-Version enthält haben ich größtenteils in meinem Ubuntu-Artikel (siehe Link) aufgeführt. Diese sind allesamt recht nützlich, und so hat man einen Anhaltspunkt, was man evtl. hier auch installieren möchte.

Ansonsten unterscheiden sich Armbian/Xfce und Ubuntu nicht groß, auch die Startleiste kann man sich nachinstallieren.

Gehen wir also den Dingen nach, die bei der Ubuntu-Version nicht so zu unser Zufriedenheit waren...

Und geht der Sound jetzt?

Kurze Antwort: Nur in Firefox. Und das ist ein bisschen seltsam. Während im Firefox-Browser überall Soundausgabe ist, bleiben MP-Player und Co. stumm.

Scheinbar gibt es einen extra Sound-Treiber für Firefox. Für das Xfce-System fehlt offensichtlich aber nach wie vor der Treiber. Ruft man die PulseAudio Volume Control unter Application/Settings auf, versucht das Programm eine Verbindung zu PulseAudio herzustellen, die aber nie zustande kommt. Resultat ist, das nirgends Sound funktioniert, außer komischerweise in Firefox.

Hier scheint noch etwas mit dem Sound-Treiber nicht zu funktionieren.

Hat sich die Youtube-Performance verbessert?

Wie gesafgt funktioniert der Sound in Firefox. Allerdings ist das Abspielen von Videos auf Youtube darin kein Vergnügen. Die Performance ist noch nicht gut genug und bei 1080p, die ich erwarten gibt es jede Menge Frame-Drops (Statistiken für Nerds). Sogar 720p ist nicht ruckelfrei.

Auf der anderen Seite: Ziehe ich ein selbst erstelltes 1080p-Video, dass ich H.264-enkodiert habe nach Firefox und lasse es wiedergeben, dann läuft alles flüssig.

Es muss wohl an dem Video-Codec liegen, den Youtube verwendet. In den Nerd-Infos von Youtube wird der Codec "AVC1.64001f / opus" genannt. Was genau hinter dieser Bezeichnung steckt, weiß ich nicht genau, aber ich wüde mal sagen: AV1 für den Video-Stream und Opus für den Audio-Stream.

Womöglich ist der Treiber für die Hardwarekodierung von H.264 im Image drin, aber der für AV1 fehlt und deswegen muss AV1 mit Software dekodiert werden, was sehr viel weniger performant wäre. Vielleicht fehlt also einfach nur der AV1-Support und vielleicht wird der bald nachgereicht und dann ist alles in Butter. Ist aber Spekulation von mir.

Und lässt sich jetzt Chromium installieren?

Bei der Installation gibt es keinen Abbruch mehr mit der Snapd-Fehlermeldung, dass das SquashFs-Image nicht gemountet werden könnte, sondern sie läuft ohne Fehler durch. Es wird auch ein Eintrag "Chromium Web Browser" unter Applications/Internet erstellt, aber wenn man darauf klickt, passiert nichts, außer dass kurz der Wartekreis (entsprechend der Sanduhr bei Windows) aufflackkert.

Chromium läuft also nicht. Darum kann ich leider auch nicht testen, ob die Youtube-Performance dort besser wäre.

Fazit

Das einzige Programm, das gut funktioniert ist Firefox. Hier funktioniert auch der Sound, allerdings ist die Performance bei der Wiedergabe von Youtube-Videos immer noch schlecht. Auf der anderen Seite taugt der Firefox aber zur Wiedergabe eigener Videos, z. B. aufgenommener Filme. Wenn diese mit H.264 kodiert sind, ist die Wiedergabe auch performant in Full HD (1920x1080) und auch der Sound ist gut.

Zieht man eine MP3-Datei in Firefox, wird auch diese dort wiedergegeben, ebenfalls mit Ton. Außerdem kann man Bilder in Firefox ziehen.

Im Internet surfen geht mit dem Firefox natürlich auch. Er ist sozusagen der Tausendsassa, der alles kann, halt eben Youtube ist noch nicht gut. Aber zumindest läuft mit dem Firefox eines der wichtigsten Programme, so dass hier eine brauchbare Anwedung für den Banana Pi M6 findet.

Ich gehe davon aus, dass sowohl an der Ubuntu, als der Armbian-Version weiter entwickelt wird, bis diese einwandfrei laufen. Es ist noch viel Raum für Verbesserungen. Sobald es neue, bessere Versionen gibt, werde ich natürlich wieder berichten.

Video

Natürlich darf auch diesmal ein Video nicht fehlen, bei dem man das System auch live sieht, wie es sich verhält:



Update 2024-03-13

Ich habe mir die Sache mit dem Chromium noch einmal näher angeschaut, nachdem jemand im Forum geschrieben hätte, dass er Chromium mit dem neuen Image benutzen würde. Bei mir wollte Chromium ja nicht starten. Klick auf den Application-Eintrag brachte nichts.

Also Chromium noch einmal über das Terminnal-Fenster installiert, was ohne Fehlermeldung klappte und dann dor Chromium eingegeben. Das brachte dann eine Fehlermeldung zu Tage, sinngemäß dass es doch unsicher sei, als root mit einem Browser ins Internet zu gehen. Da hat er ja eigentlich Recht, auch wenn auf dem Banana Pi nicht viel kaputt zu machen ist.

Trotzdem habe ich mir einen User namens "pi" angelegt und ihm ein Passwort gegeben:
useradd -m pi passwd pi
adduser wäre vielleicht einfacher gewesen, weil dieser Befehl mehr interaktive Hilfe bietet, aber wer soll sich schon all die Linux-Befehle merken, wenn er nicht täglich damit arbeitet?

Egal, nach dem Logout konnte ich mich dann als Pi anmelden (und komischerweise nirgendwo mehr root als User auswählen), aber das gesetzte Passwort passte und Xfce wurde hochgefahren.

Und irgendwie ist alles anders. Fast eine komplett neue Welt, wie sich das System nun verhält. Doch eins nach dem anderen.

Der Sound funktioniert auf einmal überall, dafür ist er aber gestört und hört sich an wie eine kaputte CD, es rattert zwischendurch immer wieder. Wenn jemand spricht, dann kann man das schon verstehen, aber es hört sich an, als ob er leicht stottert. Nicht schön. Dafür könnte, wenn man wollte (mit dem Gegatze will man nicht), nun auch Musik z. B. in Rhythmbox hören. Das funktioniert jetzt. Das der Sound (klaglich) funktioniert, sieht man jetzt auch an dem Lautsprechersymbol oben rechts.

Endlich läuft Chromium und wie ich die ganze Zeit vermutet hatte, laufen Youtube-Videos in Chromium wesentlich besser als in Firefox. Es gibt zwar noch ein paar Framedrops, aber generell kann man sich etwas mit Full HD / 1080p anschauen, in schnellen Action-Szenen wird es wohl dann wohl doch ruckeln. Die CPU ist während der Full-HD-Youtube-Wiedergabe zu ca. 80% ausgelastet. Passiv gekühlt mit einem kleinen Kühlkörper wie ich ihn habe, geht das gerade noch, aber ich fühle mich besser, meinen kleinen Lüfter einzuschalten, was die CPU so auf 60-65 °C laut Temperaturanzeige Xsensors bringt. Fasse ich an den Kühlkörper, ist der gerade mal etwas über lauwarm.

Allerdings gatzt der Sound auch bei der Youtube-Wiedergabe. Hier muss auf jeden Fall noch nachgebessert werden. Vielleicht liegt es auch einfach nur an der Task-Priorität des Soundtreibers, aber das ist nur eine Vermutung ins Blaue hinein.

Wegen den sich seltsam verhaltenen USB-Buchsen (Mouse unten funktioniert bei Einstecken eines USB-Sticks darüber plötzlich nicht mehr) hatte der Support gleich den Verdacht, dass ich eine Wireless Mouse benutze. Und richtig: Mit einer kabelgebundenen Mouse gibt es keine Probleme mit dem darüber eingesteckten USB-STick.

Das ist also wohl doch kein Problem mit den USB-Ports, sondern irgendwie stört der USB-Stick den Funk oder schirmt ihn ab, so dass die Mouse-Signale (2.4 GHz) nicht mehr richtig bis zum Empfänger-Dongle kommen. By the way: Der Support meinte auch, dass, wenn man eine M2-Karte einsteckt, dann ein USB-Port abgeschaltet werden würde, gut zu wissen für die Zukunft.

Neues Fazit

Legt euch auf jeden einen User, z. B. "pi" an und nutzt den, und benutzt das das System nicht ständig als root. Dann ist irgendwie alles anders, Chromium funktioniert und auch der Sound (wenn auch eher schlecht). Hört sich seltsam an, ist aber so.

Auf jeden Fall ist das System so schon mal durchaus brauchbar, am Sound muss sich allerdings noch was tun!

Video, zweiter Teil

Wie sich das System als User und nicht als root verhält, darüber musste natürlich auch ein Video her, damit man sich entsprechend ein Bild machen kann:



Update 2024-03-22: Test des Images Armbian vom 2024-03-20

Es ist ein neues Image mit Armbian v24.2.0 herausgekommen, und zwar am 20. März und diesmal mit NPU-Unterstützung und installiertem YoloV6.

Außerdem ist auch schon Chromium vorinstalliert in den beiden Geschmacksrichtungen mit Xfce-Desktop und mit Cinnamon-Desktop. Je ein SD-Karten-Image, an gewohnter Stelle (3) zu finden.

Nach meinem erneuten Test mit dem neuen Build, den ihr im nachfolgenden Video sehen könnt, komme ich zu folgenden neuen Erkenntnissen: Zum Thema Künstliche Intelligenz / Bilderkennung mit YoloV6: Da habe ich auch ein bisschen mit herumgespielt, ohne jetzt tief in die Materie einzutauchen. YoloV6 ist schon vorinstalliert und funktioniert mit dem Image out-of-the-box, allerdings ist mir aufgefallen, dass es nur als root (su eingeben, um SuperUser / root zu werden) funktioniert. Ansonsten gibt es eine Fehlermeldung.

Dann kann man mit "yolov6 bild.jpg" jedes beliebige Bild von der KI analysieren lassen. Der M6 nutzt dabei die NPU und braucht so 100 ms pro Bild. Danach gibt er kurz zum Besten, was er meint, was auf dem Bild dargestellt ist. Außerdem legt er eine Datei "result_yolo6.jpg" an, in dem ein Kasten um das erkannte Objekt gezogen ist.

Die Erkennungsrate war mäßig, aber das ist natürlich sehr vom AI-Model und den verwendeten Trainingsdaten abhängig. Ich habe mir jetzt für diesen ersten kurzen Test nicht die Mühe gemacht, zu überprüfen, welches Modell genau benutzt wird oder gar ein eigenes trainiert. Darüber werde ich vielleicht einen extra Artikel schreiben, wenn ich mich in das Thema weiter eingefuchst habe.



Update 2024-04-08: Test des Images vom 2024-04-07 / HDMI-In

Banana Pi hat ein neues Image, das BPI-M6-armbian-20240407 bereitgestellt und dazu Kurzvideos im Banana Pi Forum gepostet, die zeigen, wie der PC-Bildschirm, der an den HDMI-Eingang des BPI-M6 angeschlossen wurde, über den M6 wiedergegeben, quasi gespiegelt wird.

Mit dem neuen Image kann über die Befehle
su /opt/syna/bin/ampclient_alpha 7
eben dies bewerkstelligt werden. Ich habe die Funktion mit meinem C64 mini ausprobiert, wie in folgendem Video zu sehen:


Leider wird der Ton nicht übertragen und ich habe noch keine Möglichkeit gefunden, den Test so zu beenden, dass ich unter Linux weiterarbeiten könnte. CTRL+C lässt mich mit einem schwarzen Bildschirm zurück und ich muss einen Reset durchführen, weil scheinbar nichts mehr geht. Doch noch ziemlich alpha die Version.

Aber der erste Schritt, endlich das weiterzuentwickeln, was den BPI-M6 so besonders macht: sein HDMI-In-Anschluss (neben der NPU für künstliche Intelligenz / neuronale Netzwerke). Ich hoffe, die Entwicklung geht hier in großen Schritten weiter und man kann bald das Videobild und Audiosignal von HDMI-In aufnehmen oder auch gleich weiterverarbeiten. Eine Mustererkennung mit KI bietet sich ja förmlich an bei der Hardware.

Natürlich habe ich auch getestet, ob das Problem mit dem abgehackten Sound noch besteht. Leider ist dem so. Das ist wirklich ein dringendes Problem, das schnellstmöglichst angegangen werden sollte. Ich sehe den M6 als Multimedia und KI-Maschine, da muss der Sound einfach einwandfrei sein.

ampclient_alpha hat viele Optionen, die zum Spielen einladen, aber etwas richtig beeindruckendes oder nützliches konnte ich nicht ausmachen. Aber das kommt vielleicht schon bald. Diese Version ist ja noch alpha.


Quellen, Literaturverweise und weiterführende Links