I Went on a Roadtrip With PostmarketOS
#1
I went on a 10 hour roadtrip with PostmarketOS and did not have a great experience, actually. There are a handful of persistent bugs that I have been bashing my head against since day one that have caused me to completely lose my patience. It would be easiest to make a list of features and report what is or is not working - all of which I have tested both with and without the keyboard case:

[ ] = Not working at all; [X] = Working out of the box; [\*] = Working with some setup; [\B] = Works but has bugs; [P] = Partially working; [?] = Not readily available or did not spend enough time testing

[X] Install: The experience installing this distro to the phone was quick, easy, and effective unlike certain other distros that make you add/change passwords/user names/host names/etc after you've already installed it on the phone. These things can be set up during the install process like you would expect when installing most desktop distros.

Linux: (Okay, this section is mostly just opinion. I shouldn't even include this since it's likely to derail any productive discussion) OpenRC...just why? Why would this be used instead of systemd? I'm not saying OpenRC has no uses but I see absolutely zero benefit to dying on that hill here with the Pinephone Pro. And Ash as the only preinstalled shell? Absurd. Seriously, why not include Bash at the absolute minimum? I didn't even realize it was possible for a distro to function without Bash installed. APK feels like a watered down apt. First experience with Alpine Linux, hope it's my last.

[X] SMS: Totally fine, never had any issues at all with this. Much prefer Spacebar over Chatty.

[\*] Call: Took a lot of configuring to tame the microphone but works reliably now.

[\*] MMS: Overall works well and relatively stable. I have 2 APNs and if I receive any MMS messages after losing connection to my Data APN, the MMS will permanently fail to download.

[ ] Camera: Completely broken. Neither have ever worked for me on PMOS. I have tried installing or compiling 6 apps and none worked. Most of the time the camera is simply not detected. Megapixels likes to seg fault. On Mobian, the default app Pinhole works. Even compiling this and its dependencies on PMOS resulted in no camera being detected.

This was especially useful when I was rear-ended and couldn't take a picture of the person's insurance card.

[ ] Alarm: Completely broken. Will not wake phone from sleep. Tested with default app and wakeup-mobile which had an APK that included wakeup-rc or some such similar packages. This also did not work.

[\B] Battery: Battery life is fine using the community modem sdk. Aftermarket battery percentage readings were working fine until the latest firmware update and now the number frequently bounces around both up and now.

[?] Printing: I actually did need to print something while I was on my trip and for the life of me couldn't figure out how. I honestly didn't spend much time on it as I just asked someone else to print it for me but I'm not even sure there's a print server running.

[P] Suspend: Sleep after media playback is very broken. I even wrote a script that runs in the background and kills the media player after 30 minutes and suspend will still fail. I altered the script to run "loginctl suspend" 15 seconds after killing the media player and suspend will still fail. This manifests when I wake up 4 hours later, the phone is very hot to the touch, screen is off, battery nearly dead after falling asleep with a full charge.

dmesg does not return any errors and the app is successfully closed when I unlock. Ran out of ideas and patience for toubleshooting this. I rely on this feature every night to listen to music or asmr so I can fall asleep. This bug is especially egregious to me. Occassionally suspend with no active tasks stops working but for the most part is stable.

[\*] Flashlight: Works. Had an issue where the udev rule got deleted (no clue how or if I somehow caused this) and I had to recreate it so the flashlight would work again.

[\*] GPS: No toggle to turn on/off location services, had to write a script and assign keyboard shortcuts. I use Pure Maps and have had no issues navigating with it,

[\B] Bluetooth: Mostly okay. After about 3 to 4 hours of use, perhaps the physical module or antena is overheating? This might not be specific to PMOS however I have not tested bluetooth this long continuously on other distros. After the 3 or 4 hours, bluetooth will disconnect and music starts playing over the hardware speakers. Bluetooth will reconnect, play music for a few seconds, and disconnect again. The only fix is to wait an indeterminate amount of time and restart the phone.

When my CD player also stopped working, I had a painfully quiet 4 hours left on the drive home. It's not uncommon to use bluetooth for 8 hours consecutively however I readily admit that it is far from the average use-case. I should have brought a cable for the aux input...

[X] Mobile Data: Works fine. I don't have issues surfing the web or streaming videos up to 720p. There is a second package offered for Firefox that must be installed for the UI to scale correctly - it also installs ublock origin and tweaks some other settings. User agent reports as Linux-mobile which is indeed correct however that sticks out like a sore thumb.

[X] Wifi: Works perfectly fine out of the box.

[ ] USB: Completely broken. I can't plug anything into the usb-c port other than a charger. I even went and found a usb-c only flash drive and nothing was reported in dmesg or lsusb when plugged in. Phone is detected by my computer as a Pine64 Pinephone Pro but MTP is unavailable.

[\B] UI: I went with PMOS largely because they offer Plasma-Mobile out of the box which generally speaking I love the look and feel of however there are some issues. Occasionally, using the volume buttons will crash the display session to a black screen. Sometimes the power menu will still trigger in this state. Very frequently, when phone is unlocked in a different rotation than it was locked in, autorotate fails to display half of the screen and needs to be rotated back and forth to get it to display properly. Rarely, this can crash the display similarly to the volume button.

[\*] Keyboard Case: The top row symbols did not work out of the box. I had to change the 3rd level composition key to Right-Alt after installing the proper keymap files. Now it works perfectly fine. Still need to figure out how to change the Pine key to caps-lock but that's unrelated and non-default behaviour.

[P] Keyboard - Virtual: English keyboard works perfectly well. Japanese was easy to install but practically unusable. お こ and そ (o, ko, and so) cannot be typed since any attempt to swipe over these characters causes the virtual keyboard to be closed. Swiping down from the top of the virtual keyboard in any language causes it to be closed, this needs to be inhibited with Japanese input so that only the back arrow minimizes it or the grab window needs to be adjusted.

Conclusion: I can live with something that's takes effort to set up properly. Most of the bugs and issues listed here are negligible or one time fixes. The distro is very close to being useable for Pinephone Pro. There are a few things though that I absolutely cannot tolerate: broken alarm, broken suspend (after media playback), broken camera, broken Japanese keyboard, frequent crashes. My phone crashes every other day at best. It crashed on the drive down and twice on the drive back.

These issues are deal breakers in my opinion and I will switch to a different daily use distro while keeping PMOS on the backburner until these issues are resolved (and stay resolved, ideally). I don't mean to be insulting or overly critical to the developers for PostmarketOS, all said and done there are reasons I chose this to daily drive and I think this distro has a lot of potential. I want to see this succeed and if I can contribute to bug testing, I will.

I probably could have posted some of these to their Gitlab issues page but I also needed to organize what all the issues I experienced were and which ones would be worth reporting there in addition to needing some time to recharge my patience. Plus hopefully this gives people an idea of what to expect when considering PMOS - not that my experience will dictate what yours may be though.
  Reply
#2
(02-28-2024, 09:55 AM)nekonosuke Wrote: Linux: (Okay, this section is mostly just opinion. I shouldn't even include this since it's likely to derail any productive discussion) OpenRC...just why? Why would this be used instead of systemd? I'm not saying OpenRC has no uses but I see absolutely zero benefit to dying on that hill here with the Pinephone Pro. And Ash as the only preinstalled shell? Absurd. Seriously, why not include Bash at the absolute minimum? I didn't even realize it was possible for a distro to function without Bash installed. APK feels like a watered down apt. First experience with Alpine Linux, hope it's my last.
Alpine Linux is by design an extremely minimalist distribution. They do not even use the de-facto standard GNU glibc, but the musl libc. Using OpenRC and Ash fits into that concept.

(02-28-2024, 09:55 AM)nekonosuke Wrote: [ ] Alarm: Completely broken. Will not wake phone from sleep. Tested with default app and wakeup-mobile which had an APK that included wakeup-rc or some such similar packages. This also did not work.
[snip]
[P] Suspend: Sleep after media playback is very broken. I even wrote a script that runs in the background and kills the media player after 30 minutes and suspend will still fail. I altered the script to run "loginctl suspend" 15 seconds after killing the media player and suspend will still fail. This manifests when I wake up 4 hours later, the phone is very hot to the touch, screen is off, battery nearly dead after falling asleep with a full charge.

dmesg does not return any errors and the app is successfully closed when I unlock. Ran out of ideas and patience for toubleshooting this. I rely on this feature every night to listen to music or asmr so I can fall asleep. This bug is especially egregious to me. Occassionally suspend with no active tasks stops working but for the most part is stable.
For both of those issues, my suggestion is to just plug the phone in before you go to sleep and keep it plugged overnight. This ensures that you have power in the battery the next morning. And, while this setting is hidden in the mobile version of the power management KCM and disabled by default in Plasma Mobile, you can set it to not suspend when plugged in (as commonly done for notebooks) by manually bringing up the desktop KCM with kcmshell5 powerdevilprofilesconfig and making the setting there. Doing this ensures that the alarm will definitely ring. It will not fix your suspend issues (quite the opposite), but with the phone plugged in, you will have a full battery in the morning anyway.
  Reply
#3
(02-29-2024, 12:55 AM)Kevin Kofler Wrote: Alpine Linux is by design an extremely minimalist distribution. They do not even use the de-facto standard GNU glibc, but the musl libc. Using OpenRC and Ash fits into that concept.

I was not aware it was that minimalist. At any rate, it's a fairly trivial to install bash and change both root and user default shells to it

(02-29-2024, 12:55 AM)Kevin Kofler Wrote: For both of those issues, my suggestion is to just plug the phone in before you go to sleep and keep it plugged overnight. This ensures that you have power in the battery the next morning. And, while this setting is hidden in the mobile version of the power management KCM and disabled by default in Plasma Mobile, you can set it to not suspend when plugged in (as commonly done for notebooks) by manually bringing up the desktop KCM with kcmshell5 powerdevilprofilesconfig and making the setting there. Doing this ensures that the alarm will definitely ring. It will not fix your suspend issues (quite the opposite), but with the phone plugged in, you will have a full battery in the morning anyway.

The caffeine toggle should do about the same as fiddling with kcmshell5 modules if one were to want the phone to suspend while charging under normal circumstances. I was under the impression that leaving a phone on the charger after it reaches 100% charge is not good for its battery health, though. Also, it makes no sense to let the phone idle at that temperature if it's not doing any work. I suppose that may be the only option with PMOS for now though...

The morning after I made my initial post, Mobian released an installer that included plasma-mobile. I'm giving that the shakedown now. The camera issue persists and I'm thinking it's actually the kernel that's breaking the camera. The Mobian/Phosh image I was able to take pictures with had kernel 6.1 while both PMOS and Mobian Trixie are using 6.6. The camera debugging commands fail on 6.6 while I can get most of the way through them on 6.1 before screwing something up.

I'm going to try building 6.7 with megi's config and patches and see if that gets me anywhere. In theory it could also help with suspend. If it works for one distro, I'm sure it could work for the other so I'll be back with my results.
  Reply
#4
The caffeine toggle is a manual thing, the powerdevilprofilesconfig KCM allows you to set up different rules for "on battery" vs. "plugged in", so you can set it to do nothing (instead of the default "Suspend") on idle when plugged in, which means it will always be on "caffeine" when you plug it in (and not anymore when you plug it back out), without you having to remember to hit the toggle every time. That is why I recommended the KCM setting.

As for the battery health: my original PinePhone's battery (which, as far as I know, is the same battery also used in the PinePhone Pro) is lasting just fine having it plugged in every night, and if not, a compatible replacement (Samsung EB-BJ700BBC/BBE/CBE/CBU) can be bought locally for only 20€ around here.
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  postmarketOS: Invalid pkgver Barugon 0 964 10-13-2022, 11:35 AM
Last Post: Barugon

Forum Jump:


Users browsing this thread: 1 Guest(s)