## Maemo Leste and mobile development in 2021
An overview.
Ivan J. <
[email protected]>
## Mobile development in 2021
* There is a Linux-based ecosystem
* About a dozen operating systems
* Support is bad mostly because of manufacturers
* Mainlining is done on a best-effort basis
* Only if there is personal interest or money
## Android
* Most widespread mobile OS based on Linux
* Often taken as inspiration for other distributions
* Base for all manufacturers/vendors
* Could be blamed for bad support, but it's not directly
Google's fault
## LuneOS
* Port of WebOS
* Uses a minimal Android System Image
* Rebuilt from scratch and uses Qt5 for UI
## PureOS
* Purism
* They also manufacture their own hardware
* Uses Phosh (Phone Shell) as the UI
* Tweaked GNOME
## postmarketOS
* Metadistribution based on Alpine Linux
* Has support for a few different UIs
## Sailfish
* Continuation of MeeGo (Nokia&Intel), based on Mer, now merged with Mer
* proprietary + FOSS (Jolla says they want to be 100% Foss)
## Nemo
* Parallel to Sailfish, community-driven
* Aims to replace Sailfish's proprietary components like UX
## Ubports (Ubuntu Touch)
* Started by Canonical, but abandoned and now developed by
UBports and the Ubuntu community
* Mainly FOSS, uses some backend parts of Maemo and MeeGo
## Maemo Leste
* Community-driven
* Continuation of Maemo Fremantle
* Mostly FOSS, usually 3D graphics drivers are proprietary
* Uses Hildon as interface
* Based on gtk2, but there is gtk3+qt5 stuff
## Maemo Leste so far
* Pick up open source work from Nokia in 2009
* 4 years of active FOSS development and reverse engineering since 2017
* 8 supported devices
* Mainline Linux everywhere, no vendor kernels
## Maemo Leste near future
* Graphical interfaces for calls & SMS
* Network "providers" (think transparent Tor, Wireguard, OVPN...)
* Finish Address book RE
* Use Telepathy to implement various communication protocols and
connect it all with GUI
## Maemo Leste general future
* Be influential to hardware manufacturers
* Create a non-profit/charity foundation
* Support more devices
## What happened since last year
* More reverse engineering with IDA Pro
* Entire GPS stack now works, and libraries are liberated
* Various Fremantle applets which were proprietary are now liberated
* Qt5 ports
* Older Maemo Fremantle software was qt4 or even qt3
* Code now being ported to Qt5
* Various software ported
* It is nice to have some "native apps" along with everything
available in Devuan and Debian
* PDF reader, RSS reader, Calendar, Calculator, etc...
* Mode Control Entity improvements
* Central daemon useful for device state and power management
* Now using iio-sensors Linux subsystem to work with accelerometers
and similar hardware
* This brings rotation support for example
## What happened since last year
* Move completely to Pulseaudio and ALSA UCM2 files
* This brings proper audio control
* It is not possible to use plain ALSA because most of these
devices have 60+ mixer entries and are very specific
* Therefore this can be implemented with UCM2 and Pulse
* Possibly will look into Pipewire
* Managed to run latest PowerVR 1.17 driver blobs on mainline Linux
* Discovered bugs in the Xorg glamor driver
* Xorg ignores because focus is now on Wayland
* Could try implementing a shim
## What happened since last year
* Pinephone and Pinetab are out!
* Pine64 developing a hardware keyboard, which would make using
Leste much nicer
* Devices are still for early-adopters only
* Battery life when not in suspend is bad (much like Librem5)
* Got another grant for further research and development
* Not doing academic research, but rather using the money for
actual work and to sustain ourself
## Development
* The OS comprises of different parts that need to work together
## Development
* Bootloader
* Could be u-boot, could be kexecboot, etc.
* Linux kernel
* Contains the device hardware information
* Must be mainline for easy support and maintenance
* Backend userspace and daemons
* Along with kernel - do power management, and hardware state
* Idling, module (un)loading
* Modem interfacing (Calls, #9g, GPS, etc.)
* Modems are often black boxes
## Development
* Frontend userspace
* Desktop environment
* Libraries for integration
* Interfaces for backends (e.g. wifi/mobile data)
* "Apps"
* Web browsers
* Terminals
* Gopher clients
* Navigation
* Communication
* etc.
## Community
* Communicating progress
* Incentivizing developers
* Write good code and be welcoming
* Accept pull requests
* Help and teach
* Keep moving forward
* Translations!
* Maemo is translated into 40 languages
* An operating system isn't a single codebase you can clean up
and maintain forever
* Lots of different programs (Maemo now at 300+ repos)
* Can be buggy, but the point is to enable people to work
## Resources
*
https://leste.maemo.org
*
https://github.com/maemo-leste
* ircs://irc.libera.chat/maemo-leste
## Fin
#maemo-leste-addiction
Thanks for listening!