We are at almost end of 2016, unfortunately 2016 also took away great project with it, Cyanogenmod. However there is fork named LineageOS in pipeline. Given we switched our android base to CyanogenMod earlier, lots of people asked me how this will affect Plasma Mobile?
We used CyanogenMod source tree and kernel for generating minimal android system which is used in hammerhead port. All of them are available on github currently. However it is not clear that upto when it will be available and will receive updates given code review system (gerrit) for CyanogenMod is offline. At this point we have two options,
- Switch to LineageOS, given it is 1:1 fork of CyanogenMod currently it will not require much work.
- Switch to AOSP base, given we don’t really use the “extra” things provided by CM on top of AOSP.
While option 2 might sound big work, it in fact is not. For instance, in Nexus 5X (bullhead) port, underlying system is AOSP based instead of the CyanogenMod to simplify the things. Personally I had low priority task on phabricator for longterm to switch to AOSP base, but based on current situation this will need to be done with higher priority than earlier. :-(
That’s all for now, I hope this clarifies situation..
Currently Plasma Mobile is supported by very small number of devices, for example Nexus 5, and One plus one. These devices uses Android 5.0 or CM12 as their base. Current libhybris upstream doesn’t have support for the devices running Android 6.0 (Marshmallow), however there are two different forks of libhybris which are proposed to be merged into upstream libhybris and supports the Android 6.0,
This allows one to use Android 6.0 based binaries on normal Linux userspace and supports both armhf and aarch64 with some changes. I decided to try this on recent Nexus 5X device for which only Android 6.0 and higher version’s binary blobs are available. With some changes in KWin, for example : support for HWcomposer 1.4 and 1.5 and some changes in build infrastructure, it was possible to have Plasma working on Nexus 5X.
Image showing test_hwcomposer running from libhybris:
Image showing Plasma Mobile running on Nexus 5X:
As of now, just graphics and input are supported on Nexus 5X, however I’ve plan to work on Network, calling and other functionalities in upcoming weeks, which is required to have usable system. However this is good step in direction of having support for more devices, as this will open the possibilities of supporting newer devices, I will be happy to help if someone wants to port/run Plasma Mobile on their device, feel free to contact me over email email@example.com or in #plasma channel on Freenode.
If you like work done by KDE community like this and want to support our work, please consider donating to our Make the World a Better Place! - KDE End of Year 2016 Fundraising campaign.