3 ms·
Ubuntu Touch (mobile) is forced to use an older version of the Linux kernel. An overwhelming majority of SoC manufacturers develop drivers for Android's Linux
by maheart 11y ago
Ubuntu Touch (mobile) is forced to use an older version of the Linux kernel.
An overwhelming majority of SoC manufacturers develop drivers for Android's Linux Kernel 3.4 (and I think more recently? 3.10, etc). As per GPLv2 the kernel part of the driver needs to be FOSS, so most of the driver logic exists in the (proprietary) userland code.
Since there is no FOSS drivers for many of these SoCs, Ubuntu (and Jolla) use these proprietary drivers (targeted at Android's Linux Kernel 3.4) in conjunction with the GNU userland, by using libhybris (https://en.wikipedia.org/wiki/Hybris_%28software%29 https://en.wikipedia.org/wiki/Hybris_%28software%29).
This allows Ubuntu (and Jolla) to:
1. Run the Linux kernel (3.4, or whatever version the driver was developed for)
2. Run the GNU userland (including glibc)
3. Run the Android drivers (using libhybris)
- digi_owl 11y agoIirc, FirefoxOS is basically Android stripped of the Dalvik/ART runtime environment for the same reason.