Pinephone: MPV im Landscape starten

Liebe Linuxphone Fans,

heute drehen wir mal am Bildschirm rum und kommen zu einem besseren Videoerlebnis.

Pinephone: MPV im Landscape starten

Es hat mich schon lange genervt, daß die Apps dem Desktop nicht sagen, in welcher Lage er sich befinden soll, also senkrecht oder waagerecht / Portray- oder Landscapemode. Wenn man MPV in Portraymodus gestartet hat, kam der Film, aber als Briefmarke. Heute ändern wir das. Ihr braucht: wlr-randr und libva-request für die Hardwarebeschleunigung, also installieren wir das: „dnf install wlr-randr libva-request -y„.

Jetzt legen wir ein Script mit „touch /usr/local/sbin/rmpv“ an und geben dem als Rechte 755 mit: „chmod 755 /usr/local/sbin/rmpv„. Nun füllen wir dies noch mit Inhalt:

#!/bin/bash

export PATH=/home/pine/.local/bin:/home/pine/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin

wlr-randr –output DSI-1 –transform 270

export LIBVA_DRIVER_NAME=v4l2_request
export LIBVA_V4L2_REQUEST_VIDEO_PATH=/dev/video0
export LIBVA_V4L2_REQUEST_MEDIA_PATH=/dev/media0

mpv –osd-duration=10000 –fs –hwdec=vaapi-copy –vo=gpu,drm –player-operation-mode=pseudo-gui „$1“

wlr-randr –output DSI-1 –transform normal

Natürlich gehe ich davon aus, das Ihr schon MPV drauf habt. Sollte das nicht der Fall sein, dann installiert kurz die RPMFusion Repos und installiert es mit „dnf install mpv -y“ nach.

Im nächsten Schritt müßt Ihr root werden oder sudo benutzen und /usr/share/applications/mpv.desktop so ändern:

Exec=/usr/local/sbin/rmpv %U

Glückwünsche, das war es schon.

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.

Das nackte Pinephone aufmotzen

Habt Ich Euch schon in Eurer Handy eingearbeitet? Vermutlich nicht, aber das macht gar nichts. Heute krempeln wir es um. Vieles wird dann einfach funktionieren.

Das nackte Pinephone aufmotzen

Euch wird aufgefallen sein, daß das Handy nicht mehr als 87% lädt. Ja.. das war auch für mich ein kleiner Schock. Aber da geht ums die Batterygesundheit. Allerdings fehlt halt im realen Leben auch 10% der Akkuladung, also unternehmen wir etwas dagegen:

Wir schreiben ein kurzes Bashscript „/usr/local/sbin/maxbattery.sh“ mit folgendem Inhalt:

# cat /usr/local/sbin/maxbattery.sh
#!/bin/bash

echo 4350000 > /sys/class/power_supply/axp20x-battery/voltage_max_design

Damit das auch immer beim Systemstart ausgeführt wird, schreiben wir einen systemd.service „/usr/lib/systemd/system/maxbattery.service“ mit dem Inhalt:

[Unit]
Description=max batterystartupscript
Documentation=no docs available
After=syslog.target
Wants=

[Service]
Type=simple
EnvironmentFile=
ExecStart=/usr/local/sbin/maxbattery.sh
KillMode=process
Restart=on-failure
RestartSec=60s

[Install]
WantedBy=multi-user.target

noch starten und einschalten:

$ systemctl enable maxbattery
$ systemctl start maxbattery

damit lädt der Akku jetzt direkt auf 99% hoch.

Das Updatechaos vermeiden

Im letzten Artikel hatte ich ja schon angesprochen, daß „einfach alles updaten“ wegen dem Alpha-Repo Rawhide, eine schlechte Idee sein kann. Werdet auf dem Handy mal root, dann beheben wir das vorläufig ( sudo su + Benutzerpasswort ). Ändert die Datei „/etc/dnf/dnf.conf“ wie folgt: Stand 5.12.2020

[main]
keepcache=True
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=False
skip_if_unavailable=True
exclude=mesa* bind* gnome-shell* mutter*

Jetzt könnt Ihr loslegen und erst einmal als root „dnf update -y“ machen. Geht einen Kaffee trinken, oder holt was vom Imbiss, das zieht sich aus zwei Gründen: die SD Karte ist zwar per se schnell, aber nicht in einem Pinephone, und es ist einiges am MB aus der Repodatenbank zu ziehen, bevor das überhaupt losgeht. Ist aber bei Manjaro ähnlich langsam.

Neue Repos einbinden

Als root müssen wir jetzt von Hand rpmfusion hinzufügen:

dnf install -y https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-rawhide.noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-rawhide.noarch.rpm

Normalerweise würde man das per Browser aufrufen und dann mit Gnome-Software installieren, aber da Gnome-Software nicht funktioniert bzw. nicht drauf ist, geht es nur so. Ist aber auch schneller, in sofern, kein Nachteil 😉

Endlich neue Programme einspielen

Ist das alles drauf, können wir die coolen Programme nachziehen:

dnf install -y callaudiod-master-1 f33-backgrounds-gnome desktop-backgrounds-gnome gnome-icon-theme shotwell gnome-phone-manager-telepathy hydrapaper powertop gnome-terminal gnome-tweaks glibclangpack-de gnome-system-monitor nautilus-extensions nautilus lollypop lame qmmp-plugin-pack qmmp libvdpau libva mpv pavucontrol pulseaudio-module-gsettings paprefs pasystraygnome-screenshot gedit megapixels openssl gnome-menus gnome-maps gnome-shell-extension-apps-menu gnome-calculator gnome-weather geary bzip2 tar wireless-tools gnome-powermanager sshfs pulseaudio-qt mint-x-icons mint-y-icons openh264 mozilla-openh264 light-locker wget unzip zip pulseaudio-utils chromium gnome-disk-utility

Das installiert eine Menge an anderen Paketen mit, aber am Ende werdet Ihr es nicht bereuhen. Optional, falls Ihr das benutzen möchtet:

onboard  bessere tastatur als Caribou die interne Gnome-Keyboardapp
gajim    kann theoretisch Audio/Video mit Jabber
gnome-shell-extension-windowoverlay-icons
gnome-shell-extension-refresh-wifi
gnome-shell-extension-netspeed
gnome-shell-extension-disconnect-wifi
gnome-shell-extension-desktop-icons
gnome-shell-extension-dash-to-dock
gnome-shell-extension-openweather
gnome-shell-extension-user-theme
gnome-extensions-app
gnome-shell-extension-common
chrome-gnome-shell

gnome-software  Das ist der Softwarecenter mit Gui. Mittlerweile funktioniert es halbwegs.

Um Gnome-Erweiterungen über die Webseite zu installieren, braucht man das unzip Paket aus den nicht optionalen Paketen oben. Vieles Sinnvolle ist im Paket enthalten. MPV z.b. kann die MaliGPU benutzen und damit ruckfrei, oder was man so nennen kann, Filme wiedergeben. Hier ein paar Impressionen:

Megapixels hat noch kleinere Probleme. z.b zieht es extrem viel CPU Leistung ( 2x 100% ) Das Programm, das die Bilder auf den Screen malt hat ist inperformant^10.

MPV im Einsatz

Nautilus Videos

Nautilus Musik mit QMMP

Statt QMMP würde sich Lollipop anbieten, deswegen ist es auch in der Programmliste, aber in der RawHide Version möchte es noch nicht ganz so, wie es soll.

Firefox bei der Arbeit 🙂 Videokonferenz geht, aber mit Chromium, so leid mir das tut, geht es viel besser! Chromium hat allerdings andere Macken 😀

Stand Tag 3

Ihr habt ein Handy, das nicht telefonieren kann, deswegen blieb Manjaro drauf 😉 Fedora ist zwar das bessere Gesamtpaket, wieso sieht man ja oben, aber der Calld ist leider „defekt“. Der kann zwar anrufen, aber die Verbindung zum Pulseaudio-Server findet nicht statt. Das ist allerdings nur ein Problem von Tagen, da der Upstreampatch schon bereit liegt.

Im nächsten Artikel peppen wir die Gnome-Shell auf, fixen Fehler in den Extensions, deren Entwickler gepennt haben.

Gnome-Extensions für das Pinephone

Vorheriger Artikel der Serie:

Fedora erobert das Pinephone