I was wondering with the Librem 5 if there is going to be some unification/layering of the underlying architecture for accessing sensors, camera, GPS, etc…
On Android, there is a clear HAL (especially since project Treble). Then Android services use this HAL to talk to the Kernel / drivers. Then the application framework talk to those services through Binder’s IPC. At last user applications are built using the application framework.
I was wondering if there will be an effort for a similar standardization of layers among KDE Mobile, Gnome and other Distros ?
If we compare layer per layer :
From what I understand the librem will use an upstream kernel. But does the Linux kernel standardizes the way to access everything a phone needs ? (Fingerprint, GPS, vibration, LED, Camera, Accelerometer, Telephony, etc… ). Isn’t there here a need for some standardized HAL like on Android ? Also couldn’t the Librem 5 align with Android HAL ? This way KDE-Mobile, UbPorts, etc… could target this and then run both on Librem 5 and other Android Phones.
Then what would be the equivalent of Android services ? From what I understand there is for eg oFono and ModemManager that talk over DBus.
Are other services going to be all using DBus ? Is there any consensus among distro to all use DBus ? Is DBus going to become the equivalent of Android’s Binder ? Or is it going to be a big mess with a mix of shared library, IPC over DBus , IPC over sockets, etc… that each will depend on the distro.
I would love to develop for a Linux Phone but I need a unified API. I’m not going to develop one app for Gnome, another for KDE, etc… So it would be really nice if all (main) distros could at least agree on one IPC system and on the services/API it offers.
Is there any chance something along those lines happens ?