In a similar fashion, the bit where he's saying "People even want to use Flutter to make UIs, was the phone lacking in google technologies for your liking?" I think misses the point. I imagine developers writing mobile apps want to try and support as many platforms as possible without having to rewrite everything over and over. That's why I tried moving from Allegro 5 to Raylib, because Raylib compiled more places... Arguably though I should just move to SDL2, as that really does seem ubiquitous. From a privacy point of view, which is what I think most people dislike about Google, a GUI library shouldn't be a big deal (unless it phones home I guess?).
Now a little bit onto the phone, as the blog post describes there's dozens of operating systems, all in various states of flux. I tried a few:
# Sailfish OS - Only played with it for about 20 minutes, it was pretty hard to use. It required you to swipe right from the very edges of the screen
# LunaOS - Didn't try this for very long either. Can't remember any details other than it didn't really sell me
# Manjaro w/ KDE Plasma Mobile - This is the new current flagship install, works pretty good. Plasma is pretty nice
# UBPorts Ubuntu Touch - I was absolutely impressed with the UI (Lomiri, I think it's called), but unfortunately the current OS is missing quite a few pieces that really need sorting out. Although I'm not sure which list is accurate in terms of what works and what doesn't
-
https://devices.ubuntu-touch.io/device/pinephone/
-
https://gitlab.com/ubports/community-ports/pinephone
# Mobian w/ Phosh - Debian based (which is what I'm comfortable with), but the Librem Phone Shell... which is... urmm... okay. It's a little confusing. You swipe to unlock, but you only tap for the notification bar.
I'm still running Mobian, though I'm not really using it as a phone at the minute (due to things like WhatsApp, Discord etc.).
Battery doesn't last very long, which if you read (
https://wiki.mobian-project.org/doku.php?id=development:processmanagement) you'll see that, as with things being Linux, there's a handful of ways that people are looking to handle this. Trying to figure out what to do in your phone app development isn't straight forward.
Onto development: I've tried to port my game framework, which runs Raylib (with GLFW underneath)... Compiling this for Wayland was a nightmare, but I finally got it compiled.
Next came the screen scaling and rotation, there's a blog post about how you can identify each app separately for scaling, but this feels like a bit of pain; so I found code for "wl-randr" and merged parts of the code into my framework. The downside to this is if my game/app crashes, the scale/rotation won't be restored (could be fixed by using a launch script I guess)
So then I finally got correct screen scale and rotation... but despite the 3D models loading, it crashes Raylib. After removing the 3D models, it runs and displays okay... almost... One of the images doesn't display properly, the mouse positions need some random adjustments, and when I click the mouse button, it crashes inside GLFW with a "key press" error... I don't really know GLFW all that well, but not sure why a mouse click should crash a keyboard routine.
At that point last night, I gave up for the night.
One of the other issues I have is locating who to contact. I found a few issues, but is the problem Mobian, Phosh, Wayland, or PinePhone? Everyone seems to have different methods of communication, and Mobian has it's own Phosh repos... So if I want to contribute, where do I start???
I am still interested in doing some work on it... It'd be nice to get Lomiri on Mobian, or maybe just move to Ubuntu Touch. Lomiri runs on top of yet another display server (Mir) that is compatible with Wayland, which I've not really enjoyed trying to work with. That might be a little unfair on Wayland though, but the things I've tried to do haven't really "supported" Wayland to the same degree as X.