-
Hi, I wondering differences between Ubuntu Touch and other Linux distros on mobile. I found answers to many of my questions, but not a few of them. Them are:
Is libhybris/helium basically just translator for syscalls? If it is, why? I mean, most of syscalls are the same in Android and Linux kernel.
Can Android kernel without libhybris/halium run "standard" Linux kernel binaries? Can it runs e.g. grep binary from Arch ARM?
Apparently, libhybris/halium are not the reason for the difference between Ubuntu Touch and other distributions. Are the differences due to the fact that they limit the installation of applications to Clicks packages by default? As Fedora Silverblue limit user to Flatpaks?
How does the UI framework limit the applications that can be installed? Can't the applications use whatever UI library they wants?
I thinked that Droidian are similar limited OS like Ubuntu Touch because it also use Halium etc. Apparently it isn't the case, so is Droidian just Mobian with Android kernel? I can install binaries from ARM Arch and Flatpaks to it?
-
@krampq Running any OS on mobiles relies on hardware drivers that were written for android. Those drivers are proprietry code (not open source) so have to be supplied as binary files by the manufacturer and different files are needed for each model of phone and each version of android. Halium is the (h)arfware (a)bstraction (l)ayer and it talks to the manufacturer's device drivers. The linux kernel sits on top of that. Apps (mostly) run in containers, which is what the clicks are, and they are sandboxed from the os, which is mostly mounted on a read only file system. So really it is quite different to many linux systems as far as apps are concerned. Clicks are somewhat similar to snap packages. Hth
-
@krampq I'll try to explain things from what I know.
Halium is an abstraction layer so that the OS can use proprietary drivers on Android-based devices. So it enables the OS to access for example the camera, the sensors, etc. It is not required if the device supports the mainline Linux kernel but there are very few Android-based devices that supports it and even if they do, many things don't work. Droidian is just Mobian but uses Halium. Most devices that support UT uses halium but there are also mainline devices such as the Pine devices and Raspberry Pis. In the current state, halium devices work better and has more working features than mainline devices.
As for the supported toolkit and packaging, yes Click packages are the only well integrated/supported packaging system available in the system. There are experiments with snaps and flatpaks but neither are ready for stable release.Qt/QML is also the best integrated/supported toolkit at the moment. Other toolkits may work but you'll have to include them in the package and integration with the system like media hub, content hub, onscreen keyboard, etc most likely won't work.
-
@krampq You might find this of use https://ubports.com/en/blog/ubports-news-1/post/how-ubuntu-touch-works-3896#
-