Plasma Mobile reference images are based on halium, which uses the propietary binary blobs to make use of phone hardware. This requires the libhybris which allows us to use bionic based binary blobs in the traditional libc based environment. Halium based devices also use very old vendor-provided kernel trees, these vendor trees generally range from version 3.4 to 3.18, most of the kernel versions listed here are already marked as EOL on kernel.org.
Greg KH addressed this issue in a 3.18.48 kernel announcement email rant:> Oh, if you are _stuck_ on 3.18 (/me eyes his new phone), well, I might > have a plan for you, that first involves you yelling very loudly at your > hardware vendor and refusing to buy from them again unless they cut this > crap out. After you properly vent to them, drop me an email and let's > see what we can come up with, you aren't in this sinking ship alone, and > it's obvious your vendor isn't going to help out...
It’s however very clear that yelling at device vendor hasn’t really helped and we’re still seeing the new devices arriving on the market shipping Linux kernel version 3.18. There are some very new phones in market which use Kernel version 4.4, however these devices are so expensive that it is generally not feasible for many people to buy them.
So, how do we solve this issue? Projects like postmarketOS tries to solve this issue by using only open source components provided by vendors and avoiding binary blobs, but generally this doesn’t really result in usable system as it will not allow us to use Hardware Acceleration and other hardware features. Another solution is to use the mainline kernel, which is actively maintained and developed by the Linux Kernel community.
Little while after I started working on Plasma Mobile I stumbled upon the Android running on Nexus 7 with mainline kernel and wondered what it would take to get Plasma Mobile running on the device which runs the mainline kernel and a fully free software stack. In the process, I learned about how to mainline and asked the folks in ##linux-msm and #freedreno channels for help. Thanks to @bamse, @agross, @robclark I managed to add initial support for Nexus 5 board in the mainline kernel. This was merged into Linux kernel version 4.9. However this didn’t really support useful features other then serial console over headphone jack, power and volume buttons. After adding initial support for hammerhead in mainline kernel I was not able to continue the work due to time constraints.
Similar to hammerhead, community member opendata, a contributor to postmarketOS project, very recently managed to run Plasma Mobile on the Sony Xperia Z2 tablet. While the device came with a Linux kernel version 3.4 from the provider, @bamse managed to port 4.X Linux kernel version to that device. Recently I learned that community member flto has continued the work I started a while ago, and has been more successful in hardware support then I initially was.
This week I decided to provide a pre-built Plasma Mobile image which can work with the mainline kernel. Current Plasma Mobile images are based on KDE Neon, which uses Ubuntu 16.04 Xenial as an underlying base. Unfortunately the version of Mesa in Ubuntu’s repos were too old. Thankfully, community member JBBgameich has been maintaining the apt repository for Debian buster which included packages for Plasma Mobile. After some work to create a rootfs I successfully managed to boot a Plasma Mobile image on the Nexus 5 running a mainline kernel with mesa and freedreno graphics driver.
Using the same image as me, opendata was also able to run Plasma Mobile on the Sony Xperia Z2 tablet. Below is snapshot of the Kinfocenter application showing the system information.
Currently these images are mainly experimental and super-unstable, they aren’t really ready for production at all. However it proves that Plasma Mobile is capable of running on devices which support the mainline Linux kernel and fully free software stack. This will ultimately be useful for all the new projects working on free and open mobiles, such as Sony’s Xperia open devices, Purism’s Librem 5, since Plasma Mobile is committed to providing fully free and open source software for every device.
Despite the usual warnings that it may eat your kittens, if you want to try it on your device which is supported by mainline kernel, please contact us on Matrix at #plasmamobile:matrix.org or over email at firstname.lastname@example.org
Thanks to KDE Plasma team, @JBBgameich, @opendata, @flto, @bamse, @robclark, @agross, postmarketOS community, Debian Qt/KDE team for making this possible
The first part of this series focused on testing Plasma Mobile on virtual machine and/or on a PC/laptop. In this second part we will focus on testing Plasma Mobile on actual mobile devices.
Currently there are two possible ways of testing Plasma Mobile on an actual mobile device,
- Using postmarketOS
- Installing Halium and a KDE neon-based rootfs
I will explain both methods briefly in this blog post. Note that some of these steps may involve getting device-specific sources and building them manually, This may require a intermediate knowledge of how to unlock the bootloader, flashing and restoring devices and basic knowledge about various UNIX/Linux commands.Using postmarketOS
postmarketOS is touch-optimized, pre-configured Alpine Linux-based distribution which offers Plasma Mobile as one choice of several available user interfaces.
When you follow the instructions to install postmarketOS, remember to select “plasma-mobile” as the user interface when asked:Available user interfaces (5): * none: No graphical environment * hildon: (X11) Lightweight GTK+2 UI (optimized for single-touch touchscreens) * luna: (Wayland) webOS UI, ported from the LuneOS project (Not working yet) * plasma-mobile: (Wayland) Mobile variant of KDE Plasma, optimized for touchscreen * weston: (Wayland) Reference compositor (demo, not a phone interface) * xfce4: (X11) Lightweight GTK+2 desktop (stylus recommended) User interface [weston]: plasma-mobile
An important thing to note about postmarketOS is that it also offers Plasma Mobile on devices running mainline kernel, for example on the Sony Xperia Z2 tablet, Google Nexus 7 (2013), and LG Nexus 5 (partially). More information about Plasma Mobile on postmarketOS project can be found at the Plasma Mobile wiki entry.
Video below shows Plasma Mobile running on the Sony Xperia Z2 Tablet, which is running on mainline kernel instead of the pre-installed older kernel version.
However note that the postmarketOS project is still at very early stages of development and is not suitable for most end users yet.Installing Halium and a KDE neon-based rootfs
Halium provides the minimal android layer that allows a non-Android graphical environment to interact with the underlying Android kernel and access the hardware. The Plasma Mobile team provides a Neon-based rootfs which can be used along with the Halium builds. Currently Halium has been ported to multiple devices, however, binary builds are not provided because most of them include binary blobs which we cannot redistribute them legally. Instead we provide a link to the source manifest and you can use that to build your own images. Documentation on how to build and install Halium is available at the Halium website.
Plasma Mobile on Nexus 5 and Nexus 5X is using the Halium based images, binary images for those are distributed at Plasma Mobile image server as a reference for other porters and developers for easy testing. You can install on those devices using the flashtool available on Github.
Last week we asked the Free Software community what they wanted to do to help us move forward with Plasma Mobile. These were the results from the poll on Twitter:
And this was what the poll on Google+ looked like:
As you can see, the results were similar with least 44% poll participants wanting to test Plasma Mobile on their device, and/or as a virtual machine, or on real machine. Testing this on virtual machine was quite a hack earlier as explained in a previous blog post. We had no dedicated ISO image for Plasma Mobile, to test the Plasma Mobile one had to install KDE Neon developer edition and then run a few commands to convert it to a Plasma Mobile installation.
But, this week, by popular demand, we are providing an x86_64 based ISO images you can download from Plasma Mobile images server.How to test
You can download the latest ISO and boot in either Virtual Machine or boot it on real machine.QEMU/KVM
On actual device
Things to try
- Add a widget to the desktop
- Download and install an app from Discover Software Center
- Read comics in Peruse
- Test Kaidan, the XMPP client
This software is Alpha! Use it at your own risk. This software is not recommended for use in production and many core functionalities will probably not work. This version is intended for testing some features and for preview only. Plasma Mobile is not yet at a level where it can substitute the operating system currently running on your mobile phone, but with your help, we will get there.How to send us feedback
Thank you for helping us test Plasma Mobile.
2nd part of this series will focus on testing Plasma Mobile on actual mobile devices instead of virtual machine or PC/laptop
The Kubuntu and KDE team has been hard at work for the last 6 months, which has culminated into a rocking Kubuntu 14.04 release which introduces a whole bunch of new features, the most important of which are :
- A new semantic search framework for KDE SC 4.13, leading to faster email and file searches
- Automatic error reporting in order to improve the quality of KDE and Kubuntu
- A new driver manager to make it simpler to activate hardware that requires proprietary drivers
- Notifications for when additional drivers or language packs can be installed to improve your Kubuntu experience
- A new touchpad management app for laptops
- Misc. bug fixes and features that can be found here
Kubuntu 14.04 is a LTS release, so while introducing new applications, we’ve also taken into account personal and business users who would want to run it for extended periods of time, which is why the Kubuntu team makes the following promise :
- Kubuntu 14.04 will keep receiving security bug fixes when such fixes are available from KDE upstream for the next 5 years
- New releases of the KDE SC will be backported to 14.04 and be available via Kubuntu PPA’s for the next 2 years
- A long-term upgrade path to the next LTS release
Along with the above, the Ubuntu team also has plans to backport new Xorg and friends releases as well as new kernel releases as part of their LTS Enablement stack, making sure that your hardware performance keeps improving over the time of 5 years.
All of this makes Kubuntu the ideal distribution to use for enterprise rollouts, OEM’s and of course regular users who want a longer support cycle ( as opposed to the regular, 9 month, support cycle )
Calligra sprint 2013 started today. The venue was Thoughtworks office Bangalore. I reached Thoughtworks around 10.45 AM. Shantanu had already booked a room at Thoughtworks for the sprint. There were 5 new faces for me in sprint. 4 were from DA-IICT College and Mani. We talked to each other for a while. Shantanu showed demo of calligra active. Fixed couple of bugs in active( more detail about them will follow in the next blog post). There was a major issue in sheets(when calligra active loads sheets) which we couldn’t resolve. Around 7.30 PM(IST), team in Europe arrived at Linux hotel. The first session was Krita BoF. And we did with help of google hangout. It was nice to see most of them. By 9 PM we had to move out of Thoughtworks. That was the time limit given to us. I had uploaded snaps of today here.