Pinephone: Phosh jetzt mit Auto-Screenrotation

Ich hatte ja vor einigen Wochen einen Screenrotate für Phosh vorgestellt, der ist jetzt nicht mehr nötig:

Pinephone: Phosh jetzt mit Auto-Screenrotation

Phosh 0.10.1 für Fedora fixed das Auto-Screenrotationproblem: Es war keine vorhanden 😉

Guido Günther hat heute das neue 0.10.1 Release von Phosh rausgegeben und wir haben es bereits auf dem Pinephone Build von Fedora drauf \o/Ich habe es zwar direkt über Koji installieren müssen, weil die Spiegelserver von Fedora es noch nicht haben, aber spätestens morgen ist das im regulären Update enthalten.

Natürlich wird damit mein Beitrag zur Problemlösung überflüssig 🙁 Aber hey, das war eh klar. Zum Abschalten müßt Ihr nur das Desktopfile aus ~/.config/autostart/ entfernen:

mv ~/.config/autostart/*rotate*desktop ~/

und beim nächsten Phosh Start ist mein kleiner Workaround deaktiviert.

Pinephone: automatische Screenrotation einschalten

 

Skype4Linux unter Fedora Updaten

Das Skype-RPM für Fedora hat eine unsaubere Abhängigkeit drin, die leider seit Wochen nicht behoben wird. Trotzdessen kann man ein Update hinbekommen.

Skype4Linux unter Fedora Updaten

Wer kennt das nicht .. ok,ok, alle die kein Skype nutzen ist schon klar ….  Skype nervt mit einem Hinweis „Update mich. Update mich.“ und wenn man das dann tun will, dann geht das nicht:

# dnf update skypeforlinux
Letzte Prüfung auf abgelaufene Metadaten: vor 4:07:00 am Do 08 Apr 2021 13:48:32 CEST.
Abhängigkeiten sind aufgelöst.

Problem: cannot install the best update candidate for package skypeforlinux-8.68.0.100-1.x86_64
– nothing provides libatomic1 needed by skypeforlinux-8.69.0.77-1.x86_64
==================================================================================
Package Architecture Version Repository Size
==================================================================================
Pakete mit nicht auflösbaren Abhängigkeiten werden übersprungen:
skypeforlinux x86_64 8.69.0.77-1 skype-stable 112 M

Transaktionsübersicht
==================================================================================
Überspringen 1 Paket

Nichts zu tun.
Fertig.

Schuld daran ist die Abhängigkeit auf das Paket „libatomic1“, welches es bei Fedora gar nicht gibt, weil das Paket der libatomic hier .. tada… „libatomic“ heißt 🙂

Jetzt dürft Ihr zwei Dinge tun: Root werden, und die Sache manuell durchziehen 😉

sudo dnf -y install libatomic
sudo rpm -U –nodeps https://repo.skype.com/rpm/stable/skypeforlinux_8.69.0.77-1.x86_64.rpm

Für den Fall, daß die Lib noch nicht drauf sein sollte, installieren wir die mal pauschal, damit Skype dann auch noch funktioniert. Im nächsten Schritt kommt die (heute) neueste Version drauf. Ich bin mal gespannt, ob das beim Umstieg auf Fedora 33 nicht zu Fehlern führen wird. Falls es zu einem „unauflösbaren“ Fehler beim Upgrade auf Fedora 33 kommt, hier schon einmal die Lösung:

vi  /etc/dnf/dnf.conf

exclude=skype*

Dann Updaten und wieder einkommentieren. Falls die nächste Version von dem RPM den Bug immernoch drin hat, dann muß man die wohl auch von Hand updaten.

Mbrola – etwas bessere Sprachsynthese

ESpeak kennt Ihr sicher alle. Diese Roboterstimme, die beim Desktop dabei ist, damit sehbehinderte Menschen einen Bildschirmleser haben können. Jetzt ist espeak aber nicht wirklich toll 🙂

Mbrola – etwas bessere Sprachsynthese

Mbrola wird in einigen Distors, wie bspw. Fedora, nicht ausgeliefert, da die Lizenzen und deren Verständnis dies nicht zu lassen. Wer das selbst austesten möchte, kann sich die nötigen Files hier runterziehen:

https://github.com/numediart/MBROLA

https://github.com/numediart/MBROLA-voices

Mbrola muß kurz kompiliert werden, aber das ist selbst für Anfänger leicht zu meistern, weil es kein kompliziertes Buildsystem gibt und man eigentlich nur den GCC Compiler und CMAKE auf dem Rechner installiert haben muß. Ich bin mir ganz sicher, daß Ihr das alleine schafft 🙂

Nicht? na ok: „cd MBROLA-master; make; cp Bin/mbrola /usr/local/sbin/“ das wars 😀

Die Stimmen kommen nach /usr/shar/mbrola/ , die muß man nicht extra kompilieren.

Um espeak kommt man leider nicht rum

Da mbrola keine Übersetzung von geschriebenem Text in Phonetische Abbildungen macht, muß man das espeak machen lassen. Damit Euch das nicht über den Kopf wächst, habe ich da mal was vorbereitet:

/usr/local/sbin/say:

#!/bin/bash

if [ „$VOICE“ == „“ ]; then
      VOICE=“de5″
fi

if [ ! -f „$1“ ]; then
      espeak -v mb-$VOICE -q –pho –phonout=/tmp/out.pho „$1“
else
      A=$(cat „$1“)
      espeak -v mb-$VOICE -q –pho –phonout=/tmp/out.pho „$A“
fi

mbrola -t 1.2 -f 0.8 /usr/share/mbrola/$VOICE/$VOICE /tmp/out.pho -.au | aplay 1>/dev/null 2>/dev/null
rm -f /tmp/out.pho

Die Datei noch mit chmod 755 aufrufbar machen und wir sind fertig.

Um die Anwendung zu vereinfachen kann man entweder eine Datei als Argument angeben oder den Text:

say „Ich bin ein Roboter.“

say Bunte-Schafe-von-Arthur-Miller.txt

Die Stimme ist auf die de5 Stimme voreingestellt, es geht aber auch jede andere Sprache:

env VOICE=de7 say text

Die Aussprache kann man noch stark verbessern. Beispiel: Das Wort „Zumutung“.Versucht mal diesen Satz:

say „Dies ist eine Zumutung“

und dann schreibt ihn mal so:

say „Diehs ihst eine Zumuhtung“

Ihr werdet den Unterschied heraushören können. Genauso ist es mit „gähnt“ und „gehnt“, weil das „ä“ überbetont wird. Es klingt wirklich besser es pauschal mit „e“ zu ersetzen. Wenn man sich dann erst einmal eine Datenbank mit „besseren“ Worten zusammen gesetzt hat, kann man das Script so erweitern, daß vor dem espeak aufruf, erst noch die Ersetzung passiert. Von einer SED Orgie kann ich aber nur abraten. Lasst dies besser ein spezialisiertes Programm wie „replace“ machen oder schreibt gleich ein eigenes kleines C Tool, daß sich eine Art Datenbank einliest.

Viel Spaß damit 😀

Heißt es bald „Fedora Linux“?

Matthew Miller, seines Zeichens Fedora Project Leader, hat heute einen Änderungsantrag eingebracht, daß „Fedora“ ab Fedora 35 „Fedora Linux“ heißen soll.

Heißt es bald „Fedora Linux“?

Z.Z. ist es nur ein Antrag, aber Ihr könnt Euch sicher denken, daß es einige Pro’s und Contra’s auf der Entwickler Liste von Fedora gibt, ja gibt, denn noch ist die Diskussion in der Anfangsphase.

Die These lautet:

„Fedora“ is the name of our project. Our general-purpose Linux distribution is „Fedora Linux“. Let’s refer to it that way in the OS itself.

Meint also, Fedora bezeichnet alles was im Fedora Projekt gemacht wird, und die Linux Distribution Fedora ist ein Teil vom Projekt, deswegen müßte dieser Teil einen Zusatz haben um das anzuzeigen.

Note: Fedora is made of people! When used by itself, the term „Fedora“ refers to the Fedora Project. When referring to our work, please use either a specific name like Fedora Workstation, Fedora CoreOS, or Fedora KDE Plasma Desktop; or use Fedora Linux to refer to the OS distribution as a whole.

Die Änderung an sich wäre übrigens nur minimal sichtbar, z.b. im Loginprompt in der Konsole, im Text der /etc/os-release Information und ggf. in dem einen oder anderen Logo.

Was ich nicht ganz verstehe an der Argumentation oben ist, daß wenn doch alle Teile von Fedora auf eine Distribution abzielen, z.B. der KDE Desktop Teil, das CoreOS usw., warum sollte dann die Distribution nicht den Namen nehmen, der für all das steht?

Eine Reaktion wollte ich Euch nicht vorenthalten, die halte ich auch für valide:

This doesn’t seem to solve any real world problem, there is nothing wrong with just leaving it as is.

Den ganzen Änderungsantrag kann man hier einsehen:

https://fedoraproject.org/wiki/Changes/Fedora_Linux_in_os-release

PS: Muß ich dann eigentlich meine Kategorie im Blog auf „Fedora Linux“ ändern? Nicht lachen, daß wird gerade für getfedora.org gefragt, und da ist tatsächlich was dran, weil wenn schon, dann richtig.

Pinephone: Breakthrou on Fedora Pinephones

For all my normal readers, these are exceptional news, so we have to use english 😉

As you may know, Matrix is a chatprotocol which you can used with various clients, even as webapplications. As a webapplication you can make use of webfeatures like WEBRTC to open audio & video chats with End-2-EndCryption ( E2EC in matrix terms ).

On my tests to get a fully featured matrix client for the Pinephone, I had the idea to simply use firefox and chromium to access a self-hosted webinstance of the element-web client. It’s basically the same idea that Schildichat and others are using in form of an electron application, which you can install on your pc. Electron apps ship a special version of the Chromium browser with some html and javascript files as a package, i.e. inside a flatpak.

Pinephone: Breakthrou on Fedora Pinephones

As to the current date, no tested application on the normal Fedora aarch64 repo was capable of accessing the video cameras on the Pinephone, besides the specially crafted megapixels. Megapixels just takes pictures atm, so we had no working video solution.

Firefox makes a good matrix webclient ui and I knew from earlier tests, that in a WEBRTC session audio works good. Firefox can easily be made a clickable „Matrix“ icon the desktop by creating a matching desktopfile in :

    [Desktop Entry]
    Version=1.0
    Name=Matrix Web
    Comment=Directlink
    GenericName=Matrix Web
    Exec=env LIBVA_DRIVER_NAME=v4l2_request LIBVA_V4L2_REQUEST_VIDEO_PATH=/dev/video0 LIBVA_V4L2_REQUEST_MEDIA_PATH=/dev/media0 MOZ_ENABLE_WAYLAND=1 firefox-wayland %U https://HOMESERVERNAME/web/
    Terminal=false
    X-MultipleArgs=false
    Type=Application
    Icon=/home/pine/images/matrix-logo.png
    Categories=Network;WebBrowser;
    MimeType=text/html;
    StartupWMClass=chromium-browser
    Keywords=web;browser;internet;
    X-Desktop-File-Install-Version=0.26

The URL needs to point to the web client and Javascript needs to be enabled. You may notice the V4L2 env vars, they are step one to enable gpu acceleration. If you run NoScript in your Firefox make the necessary adjustments and your on track. I tested audio calls and they worked as expected, so I thought to myself: „why not“ and hit the video call button.

It does not only sound like an accident, it was 🙂 To our all very great surprise the Pinephone cameras went on and presented a live YUYV image from the ov5640 camera chip. There is a theory how Firefox did it, but that needs further investigations 😉

You can mark the 4th of march, 2021 11:07 CET as the time and date, that first video call (we know of) was done \o/

The other side of such a call looked like this, and actually this also was a surprise, as we got full colors from the image:

The first reaction on the global Pinephone chat was amazing:

aluizioneto

Marius
Breaking News .. Video Chat via Matrix from Pinephone WORKING 😆
Very nice!!! That would solve everything for me. Where is my PP CE?? 😃

A great moment for Pinephone users 🙂

But, there is still much to be done here. Firefox on Pinephone does not have hw acceleration in use yet, so it took all 4 cpu cores on the phone to do that call and it was still not enough processing power, as the audio part was interrupted and lagging behind. Atm Mr. Stransky is helping out to fully enable the allwinner GPU for Firefox. You need to now, that we already have a working libva driver for the Allwinner soc, called libva-request.

MPV is already using this lib to decode FullHD MP4 movies on my Pinephone with next to 0 frame drops. The amount of power consumption has dropped significantly too, so it’s possible to watch a full length movie without running out of juice. The Pinephone is using 3.6 Watt if all cpu cores are running, which results in app. 2 hours until the battery is drained. With the help of the gpu this is no longer the case, as the power consumption got down to around 2 Watt, doubling the life time of a full battery charge.

When Firefox is using the gpu and we have a better performance, it will be possible to make a videocall and leave the house without a mobile powerbank 😉

We have to thank many contributors to made this happen, in special the Fedora SIG Mobility team members who are massively testing and updating packages for Pinephone and PineTab.

I hope, that we all can see us in a Pinephone driven smooth Videoconference soon 😉

if you wanne see a video taped in the pine, check this article on the bottom:

Pinephone: Willkommen bei Element

Fedora: wie man mit RPM sein System auf Integrität prüft.

Heute geht es um Dateiintegrität und wie man das mit RPM prüft und ggf. behebt. Grund ist das Pinephone.

Fedora: wie man mit RPM sein System auf Integrität prüft.

Wenn man sein Pinephone zum ersten mal bootet, startet es mit dem Image auf der internen Storage mmcblk2. Will man etwas anderes Booten, so steckt man eine SD Karte rein, auf dem das Bootimage drauf ist. Das ist gerade am Anfang, wenn man viel Testet eine normale Sache, weil man die MicroSD Karte leicht wieder mit einem SD-Kartenreader am PC neu bespielen kann.

Wenn man aber zu an einen Punkt gekommen ist, wo das System gut genug funktioniert, möchte man es auf die interne Speicherkarte kopieren. Das könnt Ihr via rsync machen, oder Ihr kopiert die SD-Karte mit dem Tool dd rüber. Das hat aber einen Haken: Von dem System habt Ihr gerade gebootet und das läuft noch. Da man die Karte im laufenden Betrieb nicht wechseln sollte, steht Ihr vor einem Problem. Rsync umgeht das, aber Systemfiles lassen nicht so einfach syncen. Würde man so z.b. ein Fedora 33 auf ein anderes Fedora 33 syncen, würde es vermutlich laufen, aber (wie hier) ein Fedora auf Manjaro Syncen geht sehr wahrscheinlich voll in die Hose.

Wenn wir also dd steigt zwar die Erfolgschance, aber ein Datenverlust steht im RAM, weil die Programme auf der Partition rumwerkeln und die sich beim Kopieren ändern. Also am besten ALLES was geht beenden: Desktop, Services, alles bis auf SSHd und das Netzwerk.

Schritt 1 – Ermitteln was drauf ist

Dazu führt Ihr „rpm -qa > rpms“ aus. Nicht vergessen das File nachher wieder zu löschen.

Schritt 2 – jedes Paket prüfen

Dazu brauchen wir awk und ein klein wenig Bashmagie:

awk < rpms ‚{print „rpm -V –nolinkto –nomtime –nomode –nouser –nogroup –nordev –nodeps „$1;}‘ | bash > log

Das liest die Liste der RPMs Zeile-für-Zeile ein und prüft das Paket, ob die Checksummen mit den Dateien übereinstimmen. Einige Tests sind absichtlich abgeschaltet worden, weil für den Test, ob eine Datei beschädigt ist oder nicht, nicht nötig. Ob ich da mal dran war und die absichtlich verändert habe, war nicht die Aufgabe, kann man so aber auch machen, wenn man die –no Flags weglässt. „–nodeps“ sollte man aber drin lassen, weil sonst jedes Paket immer mit allen Abhängigkeiten geprüft wird und wir prüfen eh alle einzeln 😉

Schritt 3 – Defekte Dateien finden

Da wir in Schritt 2 eine Log-Datei angelegt haben, werten wir die aus und lassen uns gleich die Paketnamen der defekten Dateien geben. Das „sort -u“ wirft doppelte raus:

grep „\.5\.\.“ log | grep -v “ c “ | grep -v “ d „| grep -v ^S | awk ‚{print „rpm -qf „$2;}‘ | bash | sort -u

.5… ist die Ausgabe, wenn die Datei beschädigt ist und z.b. keine Configdatei ist. Configs können sich natürlich jederzeit ändern, deswegen sind die nicht gleich defekt.

Ein paar Beispiele was die Ausgaben so meinen:

S.5…… c /etc/ssh/sshd_config  Datei hat andere Checksumme, ist aber eine Configdatei
fehlend d /usr/share/man/fr/man1/manconv.1.gz Datei ist eine Dokumentation, nicht tragisch, wenn die nicht da ist.
fehlend /boot/efi/overlays/adau1977-adc.dtbo Datei fehlt und sollte aber da sein.
..5…… /usr/bin/mokutil Datei ist defekt und sollte ersetzt werden.

Schritt 4 – Reparieren

Nun haben wir eine Liste mit Paketnamen und müssen die nur noch reparieren. In meinem Fall waren es vier defekte Pakete:

dnf reinstall dcraw efibootmgr f2fs-tools mokutil -y

Das muß natürlich bei Euch so nicht passen, es könnte auch gut gehen oder andere Dateien betreffen!

Vom efibootmgr wissen wir jetzt, daß er gar nicht nötig ist auf einem Pinephone, weil das U-Boot benutzt und so gesehen kein EFI Bios vorhanden ist.

Ein Wort noch zum Pinephone:

Kopiert das System ruhig auf die interne Karte, weil das dann ca. 5x schneller ist: beim Booten, beim Runterfahren, Apps starten und updaten. Es lohnt sich wirklich.

Pinephone: Unter Fedora keine Tonausgabe mehr

Liebe Linuxphonies,

wenn Ihr in den letzten Tagen keine Updates eingespielt habt, dann lasst es erst einmal bleiben.

Pinephone: Unter Fedora keine Tonausgabe mehr

Irgendetwas ist mit dem Zugang zu den Tongeräten passiert. Egal aus welche Tonquelle man etwas abspielt, es kommt nicht an den Lautsprechern an. Damit ist das Gerät jetzt natürlich unbrauchbar. Bugreports dazu sind raus.

Dies erklärt aber auch, wieso man trotz Telefonverbindung kein Gespräch führen kann. Das könnte aber auch bedeuten, daß man vielleicht schon längst sauber telefonieren könnte, wenn das Tonproblem an sich gelöst wäre.

Außerdem müßt Ihr Euch auf ein Massenupdate von 1.4 GB einstellen, welches mein Pinephone hinter sich gebracht hat. Hat auch nur 1 Stunde gedauert 😀

 

Fedora: Pinephone hat nur noch 1 Majorproblem

Moin Linux-Phonies,

kleines Update zum Pinephone und dem Einsatz von Linux auf Telefonen.

Fedora: Pinephone hat nur noch 1 Majorproblem

Was eine Telefon mindestens können müßte, steck schon im Namen: Telefonieren. Bislang hat das Pinephone mit Fedora da leider gepatzt. In einem Anfall von Testwahn habe nach eine sehr großen Update gestern Abend einfach mal ausprobiert, wie das so mit Gnome und Phosh jetzt hinhaut.

Nach Einlegen einer Sim-Karte konnte das Telefon tatsächlich in Netz, hat eine funktionierende IP bekommen und konnte SMS empfangen und senden. Per Firefox ohne WLAN ins Internet war auch kein Problem.

Nun die Königsdisziplin: Telefonieren.

Also Calls App gestartet, Festnetznummer ausgewählt und auf anrufen geklickt. Sauschnell klingelte es auf dem Festnetz und das sage ich nicht einfach so, weil mit Skype kann sich so etwas richtig ziehen ;). Der Anruf an sich kam zustande, aber es war nichts zu hören, auf beiden Seiten.

Die Ursache im Pinephone liegt in den komischen Audiodevices im Pulseaudio. Die Eingabegeräte sind stumm und dummerweise nicht einfach stumm geschaltet, sondern echt stumm. d.b. die Kommunikation mit der Hardware funktioniert nicht sauber. Das auch das Gegenüber nicht zu hören war, hat ähnliche Ursachen. Mit Fedora Ton aus dem Pine zu bekommen, ist schon bei normalen Audio schwer, aber die interne Umschaltung der Geräte und deren Modi ist leider immer noch nicht funktional.

Da dies aber das letzte große Problem ist, und es hier tatsächlich kleine Fortschritte ( Quantumbereich ) gegeben hat, habe ich Hoffungen vor 2030 noch damit normal zu telefonieren 😉

Als kleine Randnotiz: Gnome-Shell

Nach meiner Updateaktion zeigte die Gnome-Shell ordentliche Macken, was aber nicht an einem Update von Gnome lag, sondern bei dem 267 anderen Updates zu suchen sein muß. Leider ist das so umfangreich, daß es eine Weile dauern wird, bis die Ursache gefunden ist.

 

 

Pinephone: Mesa 21 zickt wieder rum

Moin Linux-Phonies,

wir haben einen Wiederauflage  des Mesaproblems für Fedora Rawhide 🙂

Pinephone: Mesa 21 zickt wieder rum

Zur Zeit kann man nicht empfehlen auf die Mesa v21 Treiber zu aktualisieren. Abgesehen von Gnome scheinen die anderen Desktops unregelmäßig zu crashen. Ich empfehle derzeit bei 20.3.3-5 zu bleiben.

Wenn Ihr euch erinnern wollte, im Dezember hatten wir schon einmal so ein Problem, nur das da Gnome auch lang hinschlug.

Das nackte Pinephone aufmotzen

 

Sandbox-Escape: Sicherheitslücke in Flatpak behoben

Wer von Euch Flatpaks einsetzt, möchte jetzt vermutlich gleich mal den Updatebutton drücken: Sandbox-Escape in Flatpak Version < 1.8.5,1.10.0

Sandbox-Escape: Sicherheitslücke in Flatpak behoben

Für alle, die nicht wissen was Flatpaks sind, es handelt sich dabei um distributionsunabhängige Programmpakete, die, sonst würde es keine Sicherheitslücke sein, in sich gekapselte Container sind.

Der Gedanke ist, daß man als Entwickler alles mitliefert was die Anwendung braucht, ohne auf das Betriebssystem angewiesen zu sein. Der Nachteil davon ist … genau das: Jede Anwendung kann Zeug mitbringen, daß komplett veraltet und buggy ist. Deswegen schließen die Containerverwaltungen wie Flatpak, Snap und Docker die Inhalte in eine Sandbox ein, aus der das Programm nur unter bestimmten Vorgaben ausbrechen kann, z.b. um eine Bild-Datei zu öffnen. Dem Programmcode ist es aber nicht erlaubt, außerhalb seiner Sandbox etwas auszuführen.

Sandbox-Ausbruch

Im passenden Advisory steht dazu:

In vulnerable versions, the Flatpak portal service passes caller-specified environment variables to non-sandboxed processes on the host system, and in particular to the „flatpak run“ command that is used to launch the new sandbox instance. A malicious or compromised Flatpak app could set environment variables that are trusted by the „flatpak run“ command, and use them to execute arbitrary code that is not in a sandbox.
https://github.com/flatpak/flatpak/security/advisories/GHSA-4ppf-fxf6-vxg2

Das meint, ein Prozess innerhalb des Flatpaks kann über den DBUS anderen Prozessen Umgebungsvariablen setzen, die diese dann beachten und so aus der Sandbox auszubrechen, obwohl so nur Prozesse gestartet werden sollten, die gleiche oder weniger Rechte haben, als der ausrufende Elternprozess.

Für Fedora ist die abgesicherte Flatpak Version 1.8.5-1 erschienen:

——————————————————————————–
Fedora Update Notification FEDORA-2021-f807eb480a from 2021-01-19 01:50:48.910487
——————————————————————————–
Update Information:

This is a security update that fixes a sandbox escape where a malicious application can execute code outside the sandbox by controlling the environment of the „flatpak run“ command when spawning a sub-sandbox. See the advisory for details: https://github.com/flatpak/flatpak/security/advisories/GHSA-4ppf-fxf6-vxg2
——————————————————————————–

Wer nicht auf Fedora als System setzt, der kann auf 1.8.5 oder 1.10.0 updaten, die beide dagegen gesichert sind.

Wer mehr über Flatpak wissen möchte, kann die Seiten flatpak.org und wiki.gnome.org/Projects/SandboxedApps besuchen.