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

Pinephone: Daily Driver – Tag 1

Hallo Linuxphone Fans,

heute ein Bericht zu Neuerungen am Pinephone und die Antwort auf die Frage „Wie wars damit im Meeting zu sitzen“ 🙂

Pinephone: Daily Driver – Tag 1

Zunächst, es gibt jetzt Gnome 40 BETA für Pinephone, aber leider stützt seitdem die gnome-session häufiger ab. Ich kann das Update nicht empfehlen. Leider hängt da eine Menge an anderen Programmen dran, weshalb dies (Nicht)Update dann sehr viele andere Updates verhindert. Wenn es Euch hilft: Es stürzt zwar ab und zu ab, aber das ist nicht sooo dramatisch oft.

Die Gnome Session 40 Beta hat auch einen Vorteil, denn die 2 Min. Timeouts beim Runterfahren oder Rebooten sind weg, Jetzt hängts nur noch am Ende beim Reboot oder Shutdown Target 😀

Mit dem nächsten Systemd Update wird jetzt systemd-oomd auf dem Pinephone nicht mehr ausgeführt, weil „tada“ .. mangelnde Unterstützung 🙂 Brauchen tun wir den zur Zeit eh nicht, weil 3 GB RAM schon ganz ordentlich sind, bei den bisschen Apps die da zum Einsatz kommen.

Megapixels kommt

Megapixels ist in einer neuen Version erschienen und stützt/friert jetzt beim Foto speichern nicht mehr ab/ein. Außerdem hat Martijn Braam ein Farbkorrekturprofil hinzugefügt, so daß wieder Farbe in die Bilder reinkommt. Leider funktioniert das in der Vorschau nicht live. Da man es nicht eh nicht beeinflussen kann, spielt das auch keine Rolle. Außerdem ist der Kamerawechsel jetzt stabil möglich. Das gilt auch für die ISO und Shutter(Belichtung) Einstellungen, die zwar immer noch umständlich und zu klein, aber dafür wenigsten ohne Absturz nutzbar sind.

Megapixels hat jetzt einen eingebauten QR Scanner, der sogar funktioniert, wenn man ein Pinephone mit funktionierendem Autofocus hat, was, laut Martijn Braam, nicht jedes Pinephone hat. Die Ursache ist unbekannt, wie so vieles was diesen verbauten Chip betrifft 😉  der QR Code Scanner zeigt bislang den Inhalt nur in Megapixels ab. Ich habe mal vorsichtig angefragt, was denn eigentlich passieren sollte 😉

Als Appetitthäppchen habe ich da mal was für Euch:

22:30 Uhr – Darktable WB Korrektur – Krita mit Iain’s Denoise entrauscht

Wir hatten heute Nebel – Krita Farbsättigung – Entrauscht mit Iain’s big Denoise

22:15 Uhr Entrauscht mit Krita Iain’s big Denoise ( G’mic )

Verglichen mit einem Chip von 2010 ist das „gar nicht mal so übel“ meinte Martijn 😀

Umwerfende Bilder werden wir aber vermutlich mit dem Pinephone nie sehen werden 😉

Pinephone als Daily Driver – Tag 1

Kommen wir zur spannenden Frage, wie wars denn so tagsüber mit dem Pinephone als Begleiter?

Tja, Warm 🙂 also man merkt es in der Tasche, wenn es was getan hatte. Positiv überrascht war ich, daß Gesprächspartner nicht gemerkt haben, daß sich das Telefon gewechselt habe. Das Mikro ist auch passend laut und super im Freisprechen im Auto. Das war allerdings schon alles positive des Tages.

Phosh ist wegen Gnome-Session bei der Vorführung abgesemmelt. Naja, gnome-session riss es mit, als es den Abgang machte. Dafür war es dann sehr schnell wieder da. Für 4 h Einsatz sind 50% Akkuladung drauf gegangen, da der Leerlauf bei 1.3 – 1.5 W liegt. Das ist für ein Telefon absolutes Nogo. Da werden noch viele Devs jahre mit verbringen, bis der Linux Kernel weiß, was Energiesparend ist.

Ein Anruf schaffte es nicht zur Annahme durch den Lockscreen, vermutlich weil ein Mediaplayer Musik spielte. oh, ich habe mich übrigens geirrt, es gibt doch noch etwas positives: Die Medienkontrolle im Lockscreen funktioniert, was sehr praktisch beim Autofahren ist, da man es damit blind bedienen kann: blindes Verklicken tut niemandem weh.

Für Nachts durfte dann Android wieder dran. Mal sehen wie der nächste Testtag wird.

 

Pinephone: Die Sache mit der Hardwarebeschleunigung

Liebe Linuxphone Fans,

wir können Eurer Telefon schneller und energieeffizienter machen \o/

Pinephone: Die Sache mit der Hardwarebeschleunigung

Wie wir wissen, ist die MALI400 GPU in dem Pinephone, um es Milde auszudrücken, nicht die beste GPU. Aber sie reicht um MPV so schnell zu machen, daß FullHD Videos komplett ruckfrei laufen.

Wir brauchen als erstes die libva-v4l2-request Library:

sudo dnf -y install libva-v4l2-request

dann müssen wir das Desktopfile von MPV ändern:

Exec=env LIBVA_DRIVER_NAME=v4l2_request LIBVA_V4L2_REQUEST_VIDEO_PATH=/dev/video0 LIBVA_V4L2_REQUEST_MEDIA_PATH=/dev/media0 mpv –osd-duration=3000 –fs –hwdec=vaapi-copy –vo=gpu,drm –player-operation-mode=pseudo-gui — %U

Wenn man jetzt MPV startet, dann hat man praktisch kein Frame-Drops. Bei einem 5 Minuten Video kam ich auf 17 Drops. Leider kommt das stark drauf an, welcher Codec in dem Film oder Stream, ja richtig gelesen, drin ist. Es gibt offensichtlich gut zu dekodierende Dateien und weniger gute, obwohl die alle vom gleichen Programm gebaut wurden. Aber selbst die schlechten waren ohne Verluste zu sehen.

Im Zuge des LPD 2021.1 probiere derzeit One-2-Many Streaming aus und hab dem Pine dann mal den 15 Mb/s Feed vorgesetzt. Das hat den Chip komplett überlastet 😀 Da hing nach ein paar Minuten der Videofeed 30 Sekunden hinterher, aber der Ton war nur 1-3 Sekunden hinterher. Das war überraschend. Offensichtlich lädt und Dekodiert MPV das in zwei getrennten Threads.

Firefox & Chromium

Weniger erfolgreich war ich bei Firefox und Chromium. Chromium hat zwar bessere Ergebnisse abgeliefert als Firefox, der komplett gefailed hat. Beides war aber noch keine Bestätigung, daß es überhaupt funktioniert hat. Beim Firefox fehlen neuerdings Configoptionen, die vor 6 Monaten noch gebraucht wurden. Ich habe mal den Herrn Stransky von Redhat zurate gezogen, der das bei Firefox eingebaut hat. Mal sehen was dabei rauskommt.