LINux on MOBile - CalindoriLINMOB.net is a blog about LINux on MOBile devices. With the PinePhone (Pro) and Librem 5 shipping it is back to report on GNU+Linux on mobile devices.Zola2022-05-29T17:17:00+00:00https://linmob.net/tags/calindori/feed.xmlLinBits 26: Weekly Linux Phone news / media roundup (week 53)2021-01-03T22:35:00+00:002021-01-03T22:35:00+00:00https://linmob.net/linbits26-weekly-linux-phone-news-week53/<p><em>It's sunday. Now what happened since last sunday?</em></p>
<p>A quiet week: Conference talks, Maemo Leste Update, App Showcases and more! <em>Commentary in italics.</em></p>
<span id="continue-reading"></span><h3 id="software-development-and-releases">Software development and releases</h3>
<ul>
<li><a href="https://twitter.com/CawbirdClient/status/1344690581931495425#m">Cawbird v1.3</a> and <a href="https://twitter.com/CawbirdClient/status/1345838296342130691#m">1.3.1</a> have been released, working a lot better on the PinePhone.</li>
</ul>
<h3 id="worth-reading">Worth reading</h3>
<ul>
<li>TuxPhones: <a href="https://tuxphones.com/2021-everything-running-linux-smartphone-guide/">Running Linux on your smartphone: everything you need to know in 2021</a>. <em>Great post by Raffaele, don't know how I missed it for last LinBits!</em></li>
<li>Guido Günther: <a href="https://honk.sigxcpu.org/con/phosh_overview.html">phosh overview</a>. <em>Who better to write a overview of Phosh?</em></li>
<li>Maemo Leste: <a href="https://maemo-leste.github.io/maemo-leste-fourteenth-update-july-august-september-october-november-december-2020.html">Fourteenth Update (July, August, September, October, November, December) 2020</a>. <em>Great update blog post by the Maemo Leste project.</em></li>
<li>dimitris.cc: <a href="https://dimitris.cc/kde/2020/12/30/Online_Calendars.html">Calindori and online calendars</a>. <em>Nice workaround to get sync working for Calindori. This makes the PinePhone one step closer to being a daily driver.</em></li>
<li>Pixls.us: <a href="https://discuss.pixls.us/t/gmic-experiments-on-manjaro-arm-pinephone/22120">G’MIC experiments on Manjaro ARM Pinephone</a>. <em>If you want to play more with your camera, this should be worth a read.</em></li>
<li>Purism App Showcase:
<ul>
<li><a href="https://puri.sm/posts/app-showcase-password-safe/">PasswordSafe</a></li>
<li><a href="https://puri.sm/posts/backups/">Backups</a> <em>Unfortunately, upstream Déjà Dup is not yet mobile compliant (<a href="https://source.puri.sm/Librem5/deja-dup/-/tree/pureos/40.5+2484+git5b578dfa-1pureos0">Purism branched it</a>), so this won't work on every distribution yet.</em></li>
</ul>
</li>
<li>/u/bloggerdan: Pinephone as a daily driver? A Week with Mobian: <a href="https://teddit.net/r/PINE64official/comments/kjpyhf/pinephone_as_a_daily_driver_a_week_with_mobian/">Day 1</a>, <a href="https://teddit.net/r/PINE64official/comments/klfuku/pinephone_as_a_daily_driver_a_week_with_mobian/">Day 2</a>, <a href="https://teddit.net/r/PINE64official/comments/kn9wr5/pinephone_as_a_daily_driver_a_week_with_mobian/">Day 4</a>, <a href="https://teddit.net/r/PINE64official/comments/ko1z66/pinephone_as_a_daily_driver_a_week_with_mobian/">Day 5</a>, <a href="https://teddit.net/r/PINE64official/comments/kp4hdi/pinephone_as_a_daily_driver_a_week_with_mobian/">Day 6</a>, <a href="https://teddit.net/r/PINE64official/comments/kpjihb/pinephone_as_a_daily_driver_a_week_with_mobian/">Day 7</a>. <em>Interesting series!</em></li>
</ul>
<h3 id="worth-watching">Worth watching</h3>
<ul>
<li>Linux Lounge: <a href="https://peertube.co.uk/videos/watch/de008bd7-ba7e-4dfb-87fa-4fba1e8dd85f">Taking Photos on the PinePhone - PinePhone Camera Review</a></li>
<li>Gardiner Bryant: <a href="https://lbry.tv/@TheLinuxGamer:f/The-Libhandy-INFESTATION:4">The libhandy INFECTION?</a>. <em>A video about the Solus libhandy controversy. I like how nuanced Gardiner goes through this.</em></li>
<li>HackersGame: <a href="https://lbry.tv/@HackersGame:4/the-system-admin-s-multi-tool:2">The System Admin's Multi-tool</a>. <em>Nice video about fun use cases for the Librem 5 or also the PinePhone.</em></li>
<li>/u/redwisdomlight: <a href="https://teddit.net/r/Purism/comments/klt22s/librem_5_encounters_part_13_initial_success_then/">Librem 5 encounters part 13 initial success then turns into a failure 😞</a></li>
</ul>
<h4 id="rc3">rC3</h4>
<ul>
<li>Cathal Mc Daid: <a href="https://media.ccc.de/v/rc3-11511-watching_the_watchers_-_how_surveillance_companies_track_you_using_mobile_networks">Watching the Watchers - How Surveillance Companies track you using Mobile Networks </a>. </li>
<li>jn: <a href="https://media.ccc.de/v/rc3-80571-porting_linux_to_your_favorite_obscure_arm_soc">Porting Linux to your favorite obscure Arm SoC</a>. <em>This does not play for me, I hope that we're going to see a recording (not relive) eventually.</em></li>
<li>jiska, Gerbert and Matthias: <a href="https://media.ccc.de/v/rc3-228534-very_pwnable_network_vpn#t=2328">Very Pwnable Network (VPN)</a>. <em>Beware of closed source VPN client software!</em></li>
</ul>
<h4 id="what-i-forgot-last-year">What I forgot last year:</h4>
<ul>
<li>OpenAlt: <a href="https://www.youtube.com/watch?v=xu-3CmRefvc">Martin Botka, AngeloGioacchino Del Regno, Konrad Dybcio: Qualcomm SoC upstreaming adventures in 2020</a>. <em>I somehow missed this. The talk is a bit long, but it's worth it.</em></li>
</ul>
<h3 id="stuff-i-did">Stuff I did</h3>
<h4 id="content">Content</h4>
<p>I have uploaded one new video about installing the PinePhone from the PinePhone. Yes, it can be your only computer. </p>
<ul>
<li>PeerTube: <a href="https://devtube.dev-wiki.de/videos/watch/010aa5d1-ecdf-434e-aa92-ebad781d75af">PinePhone: Flashing the PinePhone from the PinePhone</a></li>
<li>LBRY: <a href="https://www.youtube.com/watch?v=VPV024bRZ_4">PinePhone: Flashing the PinePhone from the PinePhone</a></li>
<li>YouTube: <a href="https://www.youtube.com/watch?v=VPV024bRZ_4">PinePhone: Flashing the PinePhone from the PinePhone</a></li>
</ul>
<p>Also, I finally did something with that old, broken Psion Series 5: <a href="https://devtube.dev-wiki.de/videos/watch/70e4e4bb-291e-42eb-aca7-804763e839ff">PinePhone QWERTY the stupid way</a>.</p>
<h4 id="busywork">Busywork</h4>
<p>I finally went ahead and reinstalled my <a href="http://mobile.danctnix.org">ArchLinuxARM/DanctNIX</a> mobile install. I backed up with Deja-Dup (after scale-to-fit) and was able to successfully restore that backup once I connected to my Lap Dock, as I was unable to choose individual files to be restored with just the touchscreen (there's a "mobilized" version of Deja-Dup by Purism, but no easy way to run it on Arch).
I am going to write a blog post about my setup this week.</p>
<h4 id="linmobapps">LINMOBapps</h4>
<p>Not much happened here, just <a href="https://framagit.org/linmobapps/linmobapps.frama.io/-/commits/master">a few additions and some maintenance</a>. Please <a href="https://framagit.org/linmobapps/linmobapps.frama.io/-/blob/master/tasks.md">do contribute</a>!</p>
PinePhone DDC pt. 2: Flatpaks and Scaling2020-07-27T05:33:18+00:002022-05-29T17:17:00+00:00https://linmob.net/pinephone-daily-driver-challenge-part2-flatpak-and-scaling-in-phosh/<p>I have decided to change my approach: Writing the post before shooting the third "PinePhone as a daily driver" video. This week is going to be about Flatpak, Reading apps and the intricacies of running (non-)Flatpak Qt and GTK apps on the respective "other side". Part 1: Flatpak and Scaling in Phosh.</p>
<span id="continue-reading"></span>
<p><strong>Caveat:</strong> <em>For the past week I have been struggling with receiving calls on Phosh/ModemManager based distributions, approximately since the massive improvements in battery life due to new Crust firmware. I found another user suffering from this issue, but assuming my tweets are being read among PinePhone users, it does not seem to be a widespread problem. I am continuing with this series despite of these issues, but be aware that core functionality might be currently not available.</em></p>
<h3 id="flatpaks-across-pinephone-distributions">Flatpaks across PinePhone distributions</h3>
<p>As many of the apps I will discuss later on are first and foremosts available as Flatpaks, let's dive into tutorial territory on how to install flatpaks.
The first part of this is specific for your distribution:</p>
<h4 id="postmarketos">postmarketOS</h4>
<p><em>I switched my eMMC OS to postmarketOS this week, using one of their images that include their installer.</em>
If you are using <em>Phosh</em>, get Flatpak support by typing
<code>sudo apk add gnome-software-plugin-flatpak</code>,
if you insist on running <em>Plasma Mobile</em> despite its early state run
<code>sudo apk add discover-backend-flatpak</code> instead. If you don't want Flatpak in your software center or you are among those, that just run another window manager, e.g. <em>sway</em>, just run
<code>sudo apk add flatpak</code>.</p>
<h4 id="arch-and-manjaro">Arch and Manjaro</h4>
<p><code>sudo pacman -Syu flatpak</code> gets you bare minimum <em>flatpak</em> support here. Arch does not come with sudo enabled by default, therefore a <code>su</code> and then a <code>pacman -Syu flatpak</code> should get the job done.</p>
<h4 id="mobian-pureos-port">Mobian / PureOS port</h4>
<p><code>sudo apt install flatpak</code> for basic flatpak support, and <code>sudo apt install gnome-software-plugin-flatpak</code> (which depends on flatpak, so running this should be enough) gets you Flatpak support in Gnome Software Center.</p>
<h4 id="enabling-flathub">Enabling Flathub</h4>
<p>Just having Flatpak does not help you much. <a href="https://flathub.org">Flathub</a> contains many mobile optimized and other apps, that may work with <code>scale-to-fit</code>. Just run <code>sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo</code> (or without the sudo, if you are root) and you will have Flathub and all its software available for installation.
If you want to install the software from the <em>Gnome Software Center</em> or <em>Discover</em>, and it does not work yet, try a reboot.</p>
<h4 id="enabling-other-flathub-repositories-e-g-kde-apps">Enabling other Flathub repositories, e.g. KDE Apps</h4>
<p>Just run <code>flatpak remote-add --if-not-exists kdeapps --from https://distribute.kde.org/kdeapps.flatpakrepo</code> as root. </p>
<h4 id="tradeoffs-of-using-flatpak-apps">Tradeoffs of using flatpak apps</h4>
<p>Flatpaks have caused some controversy in the Linux community, and their security model has been <a href="http://flatkill.org/">questioned</a>. These quarrels aside, you need to know that using just a few Flatpaks will take <em>a ton of disk space on your phone</em>, as all the foundations for the app will be loaded with them — just don't use them on a 4GB or 8GB SDHC card. Also, as the base flatpaks need to be downloaded and updated, you should have enough bandwith. Unless your mobile data plan is truly unlimited, download them over a non-metered connection.</p>
<h4 id="installing-flatpaks">Installing Flatpaks</h4>
<p>Now that you have been warned, installing Flatpaks is simple. You can do so from <em>Gnome Software</em> or <em>Discover</em>, or just by running <code>flatpak install appname</code>. You do not need to know the exact name, <code>flatpak</code> will figure it out and let you choose between options, if there is more than one Flatpak matching your query. Just try it, it's simple!</p>
<h5 id="exercise-installing-the-cawbird-twitter-client">Exercise: Installing the Cawbird twitter client</h5>
<p><a href="https://github.com/IBBoard/cawbird">Cawbird</a> is a nice GTK-based Twitter client, that works on the PinePhone, but does not scale perfectly by default.
Type <code>flatpak install cawbird</code> and hit Enter</p>
<pre><code>Looking for matches…
Found similar ref(s) for ‘cawbird’ in remote ‘flathub’ (system).
Use this remote? [Y/n]:
Found ref ‘app/uk.co.ibboard.cawbird/aarch64/stable’ in remote ‘flathub’ (system).
Use this ref? [Y/n]:
</code></pre>
<p>It really is simple, you just have to read and press Enter if you agree.</p>
<h4 id="managing-space">Managing space</h4>
<p>While installing multiple apps that use the same set of base runtimes reduces the space of your installed flatpak apps when calculated per app, the space these flatpaks use may increase over time. To make sure you're not wasting too much of your precious disk space (or when you are getting warnings that your filesystem is almost at capacity), do run <code>flatpak repair</code> (in case of system-wide installed flatpaks make sure to run it with elevated permissions (as root or with <code>sudo</code>)). It might reduce the space installed flatpaks occupy on your system by quite a bit - it once freed 5 gigabytes on my Librem 5.</p>
<h3 id="manual-scaling-in-phosh">Manual Scaling in Phosh</h3>
<p>Now that we have installed an app, it may happen that it does not scale correctly. Cawbird is one of these apps that almost works out of the box and after telling Phosh to scale it properly, is just fine.</p>
<p>Newer Phosh distributions come with a command called <code>scale-to-fit</code>. It's used like this: <code>$ scale-to-fit <APP-ID> on</code>. For Cawbird it is simple: Just <code>$ scale-to-fit cawbird on</code>, as is documented on the Mobian Wiki. But let's assume we did not know it — and you will eventually run into this — how can we simply find out the APP-ID?</p>
<p>The method on the Mobian Wiki works, but it is clunky. Yesterday I scrolled through the blog of Phoshs main developer/release manager, and took what I found there to come up with the following simple bash-script:</p>
<pre><code>#!/bin/bash
WAYLAND_DEBUG=1 $1 |& grep 'xdg_toplevel@[0-9]\+\.set_app_id'
</code></pre>
<p>Just copy these two lines into a text file, e.g. named <code>get-app-id.sh</code>, on your PinePhone and make it executable by running <code>$ chmod +x get-app-id.sh</code>.</p>
<p>Let's say, you want to use KeePassXC, which does not scale well, but becomes somewhat usable by running <code>scale-to-fit</code>. But you won't get there by running <code>$ scale-to-fit keepassxc on</code>. You can now run <code>$ ./get-app-id.sh keepassxc</code> and <em>KeePassXC</em> will start up. Go back to your terminal and you will find a line of text similar to:</p>
<pre><code>[4049990.198] -> xdg_toplevel@21.set_app_id("org.keepassxc.KeePassXC")
</code></pre>
<p>The part between the "" is what you are looking for. Just run <code>$ scale-to-fit org.keepassxc.KeePassXC</code> and the next time you start KeePassXC, it should be usable.</p>
<p>The same works for Flatpak apps. You will just need to find out the Flatpaks Application ID, which is possible by performing <code>$ flatpak search ...</code>, or for Flathub apps by just looking at the flathub.org webpage for the specific app you want to adjust, e.g. <code>https://flathub.org/apps/details/uk.co.ibboard.cawbird</code>, where <em>uk.co.ibboard.cawbird</em> is what you need.</p>
<p>Now you can just run a <code>$ ./get-app-id.sh "flatpak run uk.co.ibboard.cawbird"</code> and that will return the APP-ID you are looking for:</p>
<pre><code>[536137.138] -> xdg_toplevel@29.set_app_id("cawbird")
</code></pre>
<p><em>Easy, huh? I hope this post was helpful, if you have questions, just contact me on <a href="https://twitter.com/linmobblog">Twitter</a>, <a href="https://fosstodon.org/@linmob">Mastodon</a> or via e-mail.</em></p>
<p><strong>Addition (07/27/2020, 8:14pm CEST):</strong> There is another way to get the APP-ID that <a href="https://twitter.com/dos1/status/1287569070045507587">has been pointed out to me by Twitter user @dos1</a>:</p>
<blockquote>
<p>Compile <code>examples/foreign-toplevel.c</code> from wlroots source tree and you'll get a tool that lists you app-ids of open windows :P</p>
</blockquote>
<p>This approach requires more effort once and then a lot less effort going forward. <em>Choose wisely!</em></p>