LAHA jetzt auch auf Raspberry PI

Jetzt ist es also passiert, die LAHA Multiroom HomeAudio-Lösung läuft auf der Zielplattform Raspberry PI.

Was war jetzt LAHA nochmal?

Kurzform: Damit kann man Audio an mehrere Endgeräte streamen … verteilen, so daß es überall im Gleichklang erschallt. Hervorgegangen ist das aus einer einseitigen Wette mit den Heise Redakteuren, das man das auch ohne Bäng & Teufelschen Co. mit OpenSource hinbekommt : LAHA – Netzwerklautsprecher mit Linux . Wie sich herausgestellt hat, geht das auch, nur leider nicht ganz so wie anfangs geplant. Das es trotzdem geht, bedeutet natürlich einige Einschränkungen oder Umstellungen.

PulseAudio

Wenn man PulseAudio mit einem römischen Gott vergleichen wollte, wäre es Janus, der Gott mit den zwei Gesichtern. Auf der einen Seite ist PulseAudio echt super einfach, z.b. beim Abnehmen des Sounds vom Player und dem ins Netz stellen, auf der anderen Seite könnte ich dem Entwickler auch gern mal eins reinwürgen, weil die interne Latenzkontrolle Ihren Job nicht macht. Da letzteres nicht sauber klappt, könnte man auf AlsaPlay ( aplay ) ausweichen, aber das benutzt, sobald PulseAudio da ist, richtig geraten, PulseAudio als Backend, womit die Latenzfalle wieder da ist … ächtzzzz. Man hats nicht leicht mit der OpenSource-Plattform 🙂 Es nutzt ja auch nichts, daß es Open-Source ist, wenn bei so komplexen Dingen wie PulseAudio Modulen/Programmen zwar der Source lesbar ist, aber auf 1000 Zeilen Code genau 2 Kommentare kommen und dazu grober C UnFoo getrieben wird.

Das Raspberry PI

Nachdem Android und der lokale PAPLAY Backend soweit waren, daß man darüber was abspielen konnte, ohne das es gleich sofort zusammenbrach, war gestern das Raspberry PI dran. Eine genervte Viertelstunde brauchte es schon um das RasPI Image auf die 64GB SD zu bekommen, dazu morgen mehr, aber am Ende war das Pi dann doch kooperativ, bis .. ja bis PulseAudio installiert wurde 🙁 Das lief zwar auf dem PI und mit den nötigen Zusatzprogrammen war das auch nett, aber, und das ist entscheidend, die PI Devs haben der PulseAudio-Welt den Hardwarehack vorenthalten, mit dem Sie den Sound auf den Kopfhöreranschluß umlegen. Ums kurz zu machen, solange PulseAudio installiert und aktiv ist, geht das nicht über die Kopfhörerbuchse, sondern immer über HDMI raus, egal was die Oberfläche sagt.

Da gab es natürlich nur eine Lösung: Back to the Roots aka. PulseAudio wieder löschen, rebooten und Alsa als Backend benutzen. Wenn man dann dem PI erzählt, daß es den Kopfhörer nehmen soll, dann geht das auch.

Der Stand der Dinge

Wir haben jetzt also PI Playback und das auch synchron mit dem Desktop PC und Android. Android ist auch so eine Krankheit für sich, aber das nur neben bei. Es gibt schon Beweisvideos, allerdings war es bislang für Filmaufnahmen zu dunkel, Ihr müßt Euch nicht mehr gedulden, unten ist ein Video mit 4 Geräten zusehen. Damit Ihr Euch schon mal ein Bild davon machen könnt, wie das funktioniert, hier selbiges aus der LAHA Präsentationsfolie :

Der Aufbau von LAHA als Flußdiagramm

So war das bis gestern angedacht, nun muß der RasPi Teil aber auf ALSA als Backend umgebaut werden, weil PulseAudio ja nicht kann 😀

Nemo benutzt Symbolic-Icons

Die Macher hinter dem Cinnamon Filebrowser Nemo haben entschieden, daß sie für die Sidebar Lesezeichensymbole, statt der üblichen Icons, ab Version 3.8.3 nur noch Symbolische Icons aus dem Iconsatz des Themes benutzen und anzeigen. Problem damit, die sehen einfach Scheisse aus.

Wir sind nicht Windows 10

Die Symbolischen Icons z.b. des Gnome-Themes den ich mir ausgewählt hatte, grade weil die Systemicons brauchbar waren, was nicht selbstverständlich zu sein scheint, sind schwarz-weiß, als wenn Sie dem High-Contrast Mode entsprungen sind. Das sieht bescheiden und sehr verdächtig nach Windows 10 aus.

Zwei Lösungen

1) Wir können Nemo auf dem Stand von 3.8.2 einfrieren, dazu als Root eingeben:

dnf downgrade nemo
vi /etc/dnf/dnf.conf

und eintragen oder anfügen: „exclude=nemo*

(die Exclude-Zeile darf nur einmal vorkommen, wenn man schon was drin hat, dann so machen: exclude=wine* nemo* whatever* )

Das hat den Nachteil, daß man keine Updates mehr bekommt für Nemo. Tja, im Prinzip nicht so gut. Also machen wir lieber:

2) Die Symblic Icons durch die normalen Icons ersetzen.

Einfach ausgedrückt, geht das. Jede Symbolic-Datei des gewählten Iconsatzes mit den Nicht-Symbolic-Icons überschreiben. Die Krux liegt wie üblich im Detail: „Mal eben“ iss nicht 🙁

Das ist harte Handarbeit, weil viele Fallbacks im Iconloader enthalten sind. Löscht man die SVG Versionen oder überschreibt man die einfach mit den PNG Versionen der nicht skalierbaren, greift er auf die 16×16 Datei zurück. d.b. echt jedes einzelne Icon nehmen und ändern 🙁

Gratuliere Nemo-Entwickler, Ihr wurdet grade gedowngraded !

How To Linux – Backspace funktioniert nicht ?

Du hast eine Linux CHROOT eingerichtet und die Backspace-Taste funktioniert nicht ?

Anstatt nach links, rückt die nach rechts ?

Du hast /etc/ komplett in die Chroot kopiert, aber es hilft nicht ?

stty -a gibt in der Chroot genau das gleiche aus, wie in der realen Umgebung ? (wenn nicht => stty sane )

Dann solltest Du mal das machen :

cd /
tar c /usr/share/terminfo | tar x -C /opt/chroot/

(den Pfad muß man natürlich an seine Installation anpassen)