My GSoC Project: Port Plasma Calendar and other widgets to QML

This year I’ve been accepted as a Google Summer of Code student. My project goal is to port some plasma widgets (luna, fifteen puzzle, timer, calculator and notes) and the calendar to QML.

This GSoC project is rather important for several reasons, including:

  • QML will play an important role in Qt5
  • Using QML will allow to switch easily to QML Scene Graph
  • QML makes development and maintenance easier
  • QML plasma widgets much less likely crash the plasma shell

I would like to underline that a plasma widget is ported when there are no regressions so no one will notice the difference (anyway I hope they will behave better).

Timer widgets comparison (left: C++ version, right: QML version)

Timer widgets comparison (left: C++ version, right: QML version). Do you see any difference?

Current Status:

I’ve been working on this GSoC project for nearly a month now and the port of some widgets is almost complete (there are some missing pieces that needs to be addressed but I think they will be ready soon).

I'm going to Akademy 2012

Anyway at the Akademy I will talk more about this GSoC project (Sat. 30 at 10.15/Room 2) 🙂

MISSUS experiment

During the last months my involvement in some projects has decreased, one of the reasons is that I’ve been working a lot on the MISSUS experiment. So I would like to blog about this interesting experiment.

MISSUS is an integrated sensors suite that will fly on a stratospheric balloon mission and will be launched on September from Esrange. My main task is to work on the on board software and on the ground segment software. The on board system is a PC104 board that runs Linux while the ground segment system is a laptop running Linux and a Qt client application.

After the launch I will be working a lot on other projects again. Anyway in the meantime I will blog more about the MISSUS experiment.

Kubuntu 12.04 on ASUS EeePC 1025C

This netbook (and also the EeePC 1025CE) contains an Intel N2800 Atom processor (Cedar Trail) that it comes with a GMA3600 graphics processor. The processor is a 64 bit processor but the 64 bit instruction set has been disabled from the bios so you need to get a 32 bit distribution.
The GMA3600 is based (like the GMA500/Poulsbo) on PowerVR core so you need a recent kernel with the GMA3600 driver that is required if you want to use the right screen resolution (1024×600) on your netbook.
Unlikely other intel graphics processors this one has been badly supported by the linux kernel, but recently the support to this graphics processor has been added but you need to install a 3.4 kernel on your (K)ubuntu system if you want  everything working without ugly workarounds. The graphics driver provided by the kernel doesn’t support 3D acceleration that anyway is not required if you want to have graphics effects. There are also some closed source drivers (with 3D acceleration) available but I didn’t tried them.

The GMA500/GMA3600 driver is not included by default on Ubuntu 3.4 kernel so I’ve built a kernel with that driver and Atom optimizations enabled. You can use it also on any other laptop with a GMA3600 graphics core.

(K)ubuntu installation:

If you want to install kubuntu on this netbook you need to do the following steps:

How to build an Ubuntu kernel with GMA500 support:

If you don’t like to use my kernel package you can build the kernel by yourself. You just need to read this howto, to get vanilla kernel, to download ubuntu patches and to enable CONFIG_DRM_GMA500 and CONFIG_DRM_GMA3600.


Suspension causes graphics corruption (and a reboot is needed after that).

Sound (EeePC 1025C specific):

You need to configure ALSA/Pulse audio to use always mono output for the internal speaker otherwise you’ll hear only one audio channel.

Wifi (EeePC 1025C specific):

Supported: you don’t need to install anything else.

Webcam (EeePC 1025C specific):

Supported: you don’t need to install anything else.