Going back to KDE 3?

After few months of using KDE 4 (4.0.1 — 4.0.3 and then 4.0.68 snapshot) I am thinking about reverting back to KDE 3.5.9. Why such decision? Software is just not yet ready for each day use.

Plasma based desktop

Plasma based desktop is overrated — you need KDE 4.1 snapshot to get possibility to have more then one panel. But still no way to re-arrange “plasmoids” on it… Not to mention that they will have totally broken sizes:


Also padding between panel icons (bottom panel) is huge and non configurable. Option to group running tasks by desktop is missing too. And what for are “Zoom Out”/”Zoom In” options? I do not see sense in them.

Amount of plasmoids is small — few basic ones only so to have for example weather information I would have to launch SuperKaramba like it was under KDE 3.5.

Lack of PIM

KDE PIM team works on new features but it will be ready rather after 4.1 release. According to few developers current version is not yet recommended to each day use.

Remote desktop

KRDC from KDE4 is maybe better for developers but for me it is more broken then 3.5 version. I use it to VNC session to my WinXP laptop. With newer version I often have stuck Shift/Ctrl/Alt keys after switching to/from KRDC. And even if I selected option “keep passwords in KWallet” it asks me for VNC password each time 🙁

And I really like idea of “one window per connection” instead of tabs. I mostly use one connection so old style KRDC window is more usable for me.

System settings

Application is nice — but where is “Administrator mode” button for “Computer administration” modules? Normal user can launch “Date & Time” control panel and look at disabled GUI. In KDE 3.5 there was button to prompt for administrator password to alter configuration.

The annoying thing is that you cannot have settings application from KDE 3.5 and 4.x installed at same time. And KDE4 one do not set colours for KDE 3.x applications 🙁


As everything KDE 4.x has bugs. I gave up on reporting new ones as they too often bit rot for eons with “UNCONFIRMED” state even if few other people write that they have same bug on their systems.

One of nasty ones is broken support of SFTP links… On one system I have account with /home/users/hrw/ as $HOME. I am unable to open/save files from that location as KDE Filerequster is unable to handle this due to fact that /home/ is not readable for users. At least Dolphin handle this properly…

Konqueror which is unusable because most of time it end working sooner or later due to “Unable to connect to klauncher” – WTF?

Another small annoyance: launch Dolphin and press “Ctrl-L” to edit location. Why it can not automatically select current location? I catch myself each time that I am writing insane paths due to old one not being removed.

Good parts

I like KWin composite effects. But this can be installed even on KDE 3.5 system so less problem.

Was there more good things? Probably yes — I maybe did not noticed them or not get used to them.

Children make funny moves

Today was another night when I had to wake up to monitor my daughter and turn her to the back after about half hour. All due to night feeding.

Most of times I use this time to hack on my work projects and chat on IRC — mostly on #maemo as this channel never sleeps (gratz to KotCzarny and AStorm).

But back to the subject. Children and their funny moves… After I turned Mira to the back she squirms in a funny ways — all those hips shaking, hands waving before she will find optimal position so I can cover her with blanket.

She is sweet 🙂

History meme

My main system gives me this:

hrw@home:~$ history|awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head

379 git
209 bitbake
171 cd
113 sudo
111 ls
77 rm
76 mc
73 mtn
73 grep
72 svn

It is easy to see what takes most of my time 😉

Nokia N800 emulation

Few days ago Nokia N800 tablet emulation was released into public. Richard integrated it into Poky so now we have QEMU which can be used not only to test ARM images on ARM Versatile or Sharp Zaurus but also to run on Nokia N800 tablet. Of course it is not limited to Poky images — Maemo boots very nicely on it 🙂


Booting Poky is easy: runqemu nokia800 after building of “poky-image-sato” for “nokia800” machine. After few minutes (needed to create NAND Flash image and boot into JFFS2 rootfs) Poky desktop appears:

Poky on emulated N800 - first screen Poky on emulated N800 Poky on emulated N800 - Dates application


Booting Maemo takes few steps more now (will be improved).

  1. Edit “scripts/poky-qemu-internal” script and in line 154 change KERNELCMDLINE to boot from “/dev/mtdblock3” instead of “/dev/mtdblock4” as Poky do not use Maemo’s “initfs”.
  2. Get copy of “config” flash partition from N8x0 — simple “cat /dev/mtd1ro > config.mtd” is enough. Bad news: it does not work 🙁 And the one which works for me is not distributable as it does not came from device but was pre-generated somehow.
  3. Transfer it to the desktop.
  4. Grab OS2008 firmware image from Maemo website.
  5. Unpack firmware image to get kernel and images of “initfs” and “rootfs”.
  6. Use poky-nokia800-flashutil to generate NAND Flash image:
poky-nokia800-flashutil initfs.jffs2 maemo-image.qemuflash initfs
poky-nokia800-flashutil config.mtd   maemo-image.qemuflash config
poky-nokia800-flashutil rootfs.jffs2 maemo-image.qemuflash rootfs

Then “touch maemo-image” and run one command: poky-qemu zImage maemo-image to boot it.

Maemo OS2008 on emulated N800 - first screen Maemo OS2008 on emulated N800 - desktopMaemo OS2008 on emulated N800


Basic emulation works. There is no networking yet, DSP code is not emulated and few other limitations. But it is work in progress so expect improvements.

How to get it

Patch alone can be fetched from Poky repository.

Linux binaries of QEMU with N800 support can be built with Poky by bitbake qemu-sdk command. They will be also part of Poky Linux SDK.

UPDATE: poky-nokia800-flashutil instructions are fixed (thx to Yasser)

UPDATE: there is second part of that story.

The curse of Maemo — closed source components

Three months ago I wrote post about situation of my Nokia 770 tablet. Today I looked how situation looks with non-Maemo systems.

Flashed recent Poky Linux build. Device booted into nice Sato desktop which I am familiar with. As it was expected — no WiFi support in base system. Why? Licensing problem.

Nokia tablets WiFi stack in implemented by:

  • firmware loaded to the chip at runtime (when interface is brought up)
  • closed source wi-fi stack in module umac.ko
  • open source glue layer cx3110x which forwards packets between firmware and umac.ko over SPI and implements support for linux wireless extensions API.

We also use 2.6.18 kernel from OS2007 instead of from OS2006. With some hacking on “umac.ko” module from + patching “cx3110x” driver I got module which loads on my device. But then other problem appeared — WPA Supplicant is unable to connect to WiFi interface due to lack of wireless extensions support. And Nokia implementation is closed source 🙁

On IRC I got information that there is a patch which adds WE18 support into cx3110x driver. Fetched, applied but situation is the same:

[ 7206.999359] umac: module license 'Proprietary' taints kernel.
[ 7210.030334] CX3110x chip variant: STLC4370
[ 7210.319458] CX3110x: firmware version:
[ 7210.319580] Loaded CX3110x driver, version 0.8
root@nokia770:~# wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant.conf
ioctl[SIOCSIWPMKSA]: No such device

and then reboot 🙁

So it looks like my 770 will get Maemo OS2006 again and will end it’s life as console for simple games + music player. Too bad that it hard to make it work with other systems.

BTW: I wonder why Maemo.org forbids GoogleBot… It is really hard to find Maemo related things with Google 🙁

UPDATE: Niels Breet (X-Fade on #maemo) pointed me to maemo webdevs discussion which clarify that GoogleBot index Maemo websites. My fault — sorry guys. It is hard to find current informations in wiki but there are plans to move to MediaWiki and reorganize content.

CSS Naked day

This year I decided to strip my blog from CSS code used for making design (as part of CSS Naked day).

The idea behind this event is to promote Web Standards. Plain and simple. This includes proper use of (x)html, semantic markup, a good hierarchy structure, and of course, a good ‘ol play on words. It’s time to show off your <body>.

And I think that my blog do that quite well. OK, it has few bugs in code so no W3C validation but it is partially WordPress fault ;D