Kubuntu 11.10 Mobile Devices Sneak Peak

As mentioned in the general sneak peak, Kubuntu 11.10 will have a strong focus on mobile devices. Since I did not go into details yet, let me make up for this by presenting all the more interesting changes in the area of mobile device support.

First off, Kubuntu 11.10 will get a tablet version.

Kubuntu Mobile

For Kubuntu 10.10 we presented for the first time a tech preview of Kubuntu Mobile, the first Plasma Mobile powered distribution ever. It was (and quite frankly still is) primarily targeting the Nokia N900.

In 11.10 we will make this amazing product see its first stable release. In particular it will be the first release to finally integrate telephone features.

Namely it will be possible to do phone calls and send SMS. Additionally Kubuntu Mobile will get spiced up with a completely reworked default software selection. This has various advantages. First we will remove all non-mobile parts to shrink the size of Kubuntu Mobile down to a bare minimum. Instead of “desktop” applications we will then include a whole bunch of awesome software for mobile devices. This includes primarily Kontact Touch and Calligra Mobile, two amazing upcoming mobile versions of the well-known desktop applications.

Kubuntu for Tablets

For as long as we have been working on Kubuntu Mobile, we were thinking about expanding to the tablet as they are in many ways very similar. No wonder, that the Kubuntu team welcomes the arrival of KDE’s Plasma Active project, trying to bring the awesomeness of Plasma for emerging devices such as tablets and smartphones. All the better is the fact that they are currently having tablets as primary target.

Following this great development we will release (at least) a tech preview of a Kubuntu version for tablet devices alongside Kubuntu 11.10. At the center of Kubuntu for tablets we will once more place the excellent Plasma technology, in the form of Plasma Active. The on-screen keyboard will either be provided by Plasma as well, or by the keyboard used in MeeGo.

Which devices might be targeted by this new version of Kubuntu is not yet known as the Kubuntu team is not sufficiently supplied with tablet-like devices to work with at the time of writing. Something which we hope to get resolved in time, so that we can make our new product available to users of certain devices as soon as possible.

I do however have a prototype running on my Archos 10.1 internet tablet, using Kubuntu Mobile:

KWin OpenGL ES

More mobile stuff, will it ever end?!

Some time ago the KWin developer Martin Gräßlin presented a KWin version that is capable of using OpenGL ES for desktop effects. This a very important development for two particular reasons:

  1. Most graphics drivers of ultra mobile devices only support OpenGL ES (well)
  2. Plasma and KWin strongly interact to make the Plasma user interfaces super attractive (transparency, blur and the like)

So, having OpenGL ES support is crucial for Kubuntu on mobile phones and for Kubuntu on tablets. In Kubuntu 11.10 we will provide a KWin version for OpenGL ES, alongside the regular OpenGL version. This enables everyone who would like to test it, to do so, even on the regular PC (if the graphcis drivers supports OpenGL ES of course :)).

Conclusion

Amazing times are ahead! Nothing more to say.

ARM for Kubuntu and KDE

Recently the Kubuntu developers received a donation of some terrific Genesi Efika MX devices featuring an ARM CPU.

Some of them will be devoted to Kubuntu related porting work with regards to the ARM CPU, and others to continuously test build KDE trunk. Getting a KDE buildbot for ARM is very important because most KDE developers do not have access to an ARM device (or they would not want to test building their software on it, because it would be tediously slow), so we try our best to provide KDE the means to get notified about changes that are not compatible with the ARM architecture, so that it can be fixed.

This is also very important to Kubuntu, since we have a great interest in providing the Kubuntu KDE experience also on ARM devices (such as netbooks or mobile phones), yet we have to spend a vast amount of time each development cycle on resolving ARM specific build issues in KDE software, and all of these fixes could have been done in the KDE source base right away, if only the issues had been known before the release. With an ARM buildbot we can easily hunt down build issues before KDE release a new version and thus make KDE software itself more compatible with ARM and reduce the amount of patches we need to carry in Kubuntu.

Now, since builds on ARM are usually not of the fastest kind and we want to make the most out of the available resources, Scott Kitterman (who kindly provides hosting) and yours truly worked on improving resource usage.

First off. How long do you think it takes to build Qt on one Genesi Efika MX?

— About a day! —

So we started to hook the machines up with each other, sharing CPU resources through distributed compiling using the excellent Icecream software (thanks to our dear colleagues at openSUSE). Here is what we have learned so far…

Somebody who knows a thing or two about Ubuntu development, probably has heard about pbuilder. It is a tool that makes it fairly trivial to test build software in a clean chroot setup. Suffice to say the building on our ARM boxes is also executed using pbuilder. This however caused a bit of a problem with regards to distributed compiling. While Icecream takes perfect care of distributing the stuff that needs compiling along with files that are needed to make that happen, it does not distribute the tool chain itself (most importantly the compiler). Distributing the tool chain along with the build jobs is however crucial to the reliability of the test build (e.g. to find issues in a particular GCC version of Ubuntu). Fortunately enough Icecream also got a solution for that. You just need to pack a tar of the tool chain (or let icecc –build-native handle it) and export the resulting tarball as ICECC_VERSION to the environment. Then Icecream on every cluster node will only use this toolchain for building. truly awesome.

Though, I am a bit lazy and taring the tool chain every time I want to build something is not very practical. Hence I improved the Kubuntu certified pbuilder hooks to support aforementioned use case by exporting the tool chain.

Those of you who are using pbuilder and have not yet checked out the pbuilder hooks, I highly recommend you to do so. They are going to make your life much easier 🙂

Finally. How long do you think it takes to build Qt on three Genesi Efika MX?

— Half a day! —

Quite an improvement, huh? I still see ways to improve this, especially for the upcoming KDE trunk builds.

In related news: Since I got asked when Kubuntu will be able to run on the N900.
Our current target is to have Kubuntu Mobile working on the N900 in time for the 11.04 release. A truely amazing team is working on this, so I am reasonable confident this is going to happen.

Stay friendly 🙂