My experience with Pinephone as a portable dev computer

Jacob David C. Cunningham
8 min readJan 23, 2021

Disclaimer: I am a noob, take what I say here with a grain of salt.

The TL;DR is I dropped Manjaro/Plasma for Mobian/Phosh. This is the 3GB version “highest spec” at the moment.

ARM VS Code running on the phone just over 300MB of RAM used at idle, VS Code UI delay about 3–5 seconds

Yeah I’ve personally setup Virtual Box on a 4GB Chromebook… while I don’t think you can use Virtual Box in ARM there is QEMU so I think I could have a small VM locally that’s like 100MB in size or something… and run it on the phone as web server that would be interesting.

Size of package | Pinephone next to Moto e5 Plus

I am not looking at this phone as an actual phone eg. making calls/sending texts. I’m evaluating it as a mobile compute platform where I can dock with something and do some dev work(on top of being a phone). It’s probably dumb since the hardware isn’t stellar/low RAM but oh well. I am aware Samsung had that DeX thing and I imagine with their processor/12GB of RAM on a $2K phone it would perform way better than this phone.

Unboxing

This is the full video including unboxing where I come at this completely uneducated hence running into the “battery is covered by plastic” problem with me thinking battery isn’t charging. I ordered this phone in early December got it on January 22, it only took 2 days to ship from Hong Kong to the US insane.

The rest of the content below is my notes as I mess around with this over the course of like 8hrs total between two days. I was burnt at this point/end of my day/week and later I started drinking some.

First impressions with KDE Plasma Mobile

Ooh… yeah having problems already. The dock doesn’t seem to charge the phone, can’t get video output from dock to external monitor… I was supposed to enter my own user/pin on first boot, however the pin was already there. Thankfully it was the default 123456 like Manjaro. Then after changing my password with passwd I couldn’t log back in with the pin mentioned above… Also I guess the apps aren’t installed with apt like Ubuntu… I’m still trying to figure it out, it may be pacman

Update: the dock does charge the phone it’s apparent in Mobian

It’s just funny like I use Linux a lot… I’d almost say more than Windows until I was able to just buy Windows OS licenses without much of a problem. I mean that’s why I used Linux in the past because I could get life out of old computers that ran poorly on Windows. But yeah… I don’t know I was expecting this thing to work like a Raspberry Pi or something. I mean conceptually it’s still cool but I think I have to do some digging.

Oof bought a micro sd card at a local store for 4x the amount on Amazon ha… desperation. I’m going to figure out how to flash another OS as right now I pretty much locked myself out of this phone with that passwd update.

The un-zipping/flashing process

I’ll just briefly touch on this, this was foreign to me until a few hours ago. A lot of these images are zipped with this .xz file extension and you unzip them like unxz ... which the OS install guides tell you how to do that. I just wanted to point out that this was much easier for me to do in Linux/Ubuntu. Particularly ensuring that the cards were ready to be flashed (by dd) using gparted to wipe all the partitions on the sd card. Then your of target should just be a letter eg. /dev/sdb when using fdisk -l. But yeah, so you flash on the jumpdrive, your phone boots, it’s ready to be mounted (ha) on your computer then you flash from the computer onto the phone’s eMMC storage through this bridge where your phone shows up as a /dev/sdc type target.

Jump Neo (showing Jumpdrive)

Trying Mobian

Well I’m going to try the Mobian image, Ubuntu Touch sounds cool but there’s some weird thing about apt-get.

I’m following Mobian’s install instructions here. I just got wind of a 17 in 1 distro multiboot. That’s pretty cool but from some Googling seems Mobian/Arch and maybe pmOS with Sxmo(not UI pretty) have been good. So I’ll try Mobian right now though I think in the end the Sxmo way is what I’ll go with regarding i3.

I downloaded the Mobian img and I’m flashing it to my micro sd card with balenaEtcher. Then I’m going to try the native installer from terminal.

I think I powered it down by holding power down. Yeah put in sd card, showing Mobian nice. Ahh I missed the screenshot. Dang it’s already running wow… wtf it has a pin too… omg. 1234 is default pin for Mobian okay.

Well that worked right away/immediately. I only had problems with WiFi so far(adapter not found). There is some input lag but overall it’s clean.

PostmarketOS/Sxmo (didn’t install yet)

I’m going to try Sxmo real quick with Postmarket OS. My goal is still to try and build a small web app(pull data from Coinbase Pro) with this phone. So far I’m having problems ha. Hmm it uses apk for its package manager. Alpine I think I’ve heard of that with a Docker image base(maybe).

This one is not as straightforward, I had to use dd to load the image on an sd card but first time I tried it, the boot went straight to KDE.

Ugh… that’s twice I even dd/zeroed or tried to anyway that took too long so just wiped it with disk utils… FAILURE!!!

I’m going to try from PostmarketOS installing to Sxmo.

I realized my mistake, I had to use gparted to completely empty the sd card.

I’ll continue with Mobian real quick/try Lightdm see about the ram savings.

Back in Mobian, trying Lightdwm

So I was successful in installing Mobian on the eMMC with Jumpdrive. I’m trying this for installing Lightdm. I have not confirmed yet if it works. I typed all that manually by hand on the phone ha. What’s cool though is sudo shutdown -r now works.

Oh this is cool, now there’s a desktop-looking interface. Oh… so I guess Phosh is the Mobile UI. Hmm I’m not sure if this is working. I get the popup login but after I login I’m just starting at a black screen. Yeah then it kicks me back to the Phosh UI… hmm

Well… at idle Mobian’s using 654MB I guess that’s not all that bad. It won’t rotate screen though that’s interesting. Well… I guess I’ll try… ahh man… I know how to install Sxmo now. I wasn’t doing it right earlier. I’ll go back. It does look brutal to use as far as phone mode goes. I’m just looking at the video I mean I get it… but ahh… I don’t know I should see if I can make that tile-ui wrapper like Windows Phone UI.

I have to charge my laptop that I’m installing the OS’s with so I’ll try doing the local app dev as I would expect with a regular Linux box, we’ll see how far I can go. Well… VSCode arm64 was just blank for me… also my screen went to sleep while it was doing sudo apt upgrade after this happened I could not log back in with the pin… but I got a taste of the BLISTERING SPEED… /s you can see that in the video above. I’m going to try Sxmo now. It seems like it’s really optimized for mobile use which isn’t what I’m after. Apparently you can script your own stuff so maybe a kiddie like myself can figure it out. I primarily want to dock it and try to use it like i3-wm.

Actually trying Sxmo

I have dumped about 5 hours into this stuff so far until trying Sxmo the next day.

Oh nice saying postmarketOS

Oh man can barely tell what text input field you’re in on the user/password prompt but I’m in. I had to push enter in the username field to jump to the password field.

Dang now I have to learn the gestures on this page. I’m starting at this:

trying to figure out how to open a terminal ha. Oh right double-power tap opens a terminal. Nice htop is preloaded by default… wow 132MB resting RAM usage that’s awesome.

So plugging it into an external monitor nothing happened hmm. I was concerned about this as it seems the UI is maybe primarily designed for mobile hence the Mo in the name.

Maybe I have to write a script/add it to the list of apps so I can dock and toggle the monitor, I’m looking at dwm’s docs.

Well… call me an amateur but this is not for me right now. I could not get xrandr to work to turn the external display on, it’s possible it’s a monitor-specific issue. For me it just kept saying HDMI-1 is disconnected. That ram savings is great though.

Closing thoughts

I don’t know maybe I’ll use this phone for something. I don’t need it right now is the thing… my Android phone works fine. Maybe if I forced myself to use it I’d care more but I’d lose all my stuff too eg. all the banking apps, guess use a browser. It’s also an “opportunity cost” thing(rabbit hole). I said I’d get this phone so I could learn QT/more of C++ and develop some apps. I don’t know… maybe I can learn from Sxmo how they did it regarding bridging some dwm with pmOS and then like the scripts, add a basic tile UI on top…

I recently sold my Surface Book 2 because while it was cool to have, I didn’t need it/was just sitting there.

But I know in order for these things to get off the ground, they can use the support. I’m probably a niche user that’s looking specifically for the tiling manager. Perhaps not so niche since someone developed Sxmo.

I have to finish my other projects but this will be nice to have as a future project. I’ve been writing the part 2 of “Trying to stop being lazy” I’ll finish that soon, that’s also a trash post.

--

--