We are out of real life

Following our great tradition, here’s the remains of today:

  • Long Island Ice Tea didn’t help Ade’s sore throat
  • It’s not possible to order a cocktail called “orgasm” without having people making
    stupid comments
  • QOTD: “You know, the time I had a real life …” (You guessed right, danimo’s quote)
  • KDAB’s office has “women’s version of playboy”, but no wii (gotta read up on that,
    Birte promised me three copies)
  • The password for wireless access in the hotel is “southerncomfort” (no we didn’t choose it
    ourselves, there’s 37 minutes left on that account, happy hacking)

As you might’ve noticed, Linuxtag is going along really well. :-)

Guidance updates

Again, Sevilla's gorgeous castle
In bazaar style (Ha, I actually found a link with the picture I want to share with all of you), here’s
our wishlist for guidance in Kubuntu Gutsy:

  • Powermanager needs to be ported to Qt4, there is little KDE-specific in there, so it’s one of
    the obvious candidates to switch early. In the process, the ugly polling should be changed to
    an event-based approach, something which is not possible with PyQt3 since there’s a clash in
    the mainloops of Qt3 and DBus.
  • Serviceconfig needs some porting to upstart. It’s mostly trivial though. Instead of using
    symlinking in /etc/rc.X/ we should switch to update-rc.d. Upstart also makes some things much
    easier, for example finding out if a service is running or not.

    # status $SERVICE
    # start $SERVICE
    # stop $SERVICE	

    Those commands should be used by serviceconfig. Also, descriptions can be extracted from the services in /etc/event.d/, ultimately, those can be even localised. All in all, upstart seems to be a very nice step forward compared to the rather awkward init system.

  • Displayconfig needs additions. XRandR 1.2 will offer quite a lot of additional runtime-configuration, wrapping that kind of stuff from C to be able to use it in displayconfig (or the displayconfig-gtk backend) is necessary. Although only some drivers will support it in Gutsy, it seems like a good idea to have this kind of stuff. It could possibly easily be done using CTypes.
  • Userconfig should get some more meaningful default groups. We could make the interface a bit simpler by adding a “[ ] May become admin” button and move the group membership to an ‘advanced’ tab.

If you want to get your hands dirty on some python code, those are the things on our agenda. I myself will probably not have time to implement most of those, so drop me a note if you’d like to work on some of them.Guidance can be found in KDE’s Subversion repository, in svn.kde.org/home/kde/trunk/extragear/utils/guidance.

Did anyone see the sun?

Visiting Sevilla's stunning castle
The UDS in Sevilla slowly starts to conclude, tomorrow will be the last day, ending with a
dinner with all the nice people around here. The last day’s activities covered a lot of
joint-displayconfig-effort with the GNOME guys, sketching various aspects of Kubuntu and random KDE
activities, such as networking, writing alpha-release announcements, and compiling the latest and
greated KDE4 code for making screenshots. Side-effect: I can show some interested people how it
currently looks like.
After having enjoyed ourselves yesterday night in a bar in the centre, today I’ll
take it slow, try to find some food and provide my body with a bit of sleep — it seems to be asking
for it.

Somehow being tired and hacking away feels very much like a hackathon. It’s probably the
productive and constructive atmosphere here that makes it special. On the other hand, I’m feeling
very geeky for not having been outside the whole day, but sitting in a basement and typing away,
discussing and eating lots of cookies.
I’ll stay in Sevilla for the weekend and will spend the
second half of next week on an island in the wadden sea — without even a GSM network. At the end of
may, I’m going to Linuxtag in Berlin which will need some preparations as well, and of course aKademy
is getting closer, too.

As you can see, I’ve brought my camera to Sevilla, enjoy
the photos. I still have some
of them pending on my camera, they’ll be hitting the same page tomorrow.

Powermanagement improvements.

There’s quite some discussion about powermanagement here at the Ubuntu
Developers Summit in sunny Sevilla. There are quite some Intel people around
here, providing lots of insight in powermanagement on a hardware and driver
level. Here’s a couple of points that have come up.

  • First, the good news. KDE is in a pretty good shape when it comes to
    sleeping applications. Applications using timers can wake up
    the CPU from sleep states (or even prevent sleeping in the worst case). The CPU
    sleep states (usually named C-states) greatly reduce CPU power draining. The
    worst offenders are currently kopete (responsible for 40% of the wakeups on a
    Fedora test system) and HAL polling the CD-ROM drive every two seconds. Will
    Stephenson told me that kopete in KDE4 is fixed already, and that fixing the
    KDE3 version is on his radar. This makes KDE even more battery friendly.
    Generally, KDE’s technical design makes it rather easy to fix those issues
    system-wide. Kudos to the people working on this!
  • Tickless kernel. The new dynticks and hi-res timers make a
    *huge* difference. Ben Collins mentioned 30 – 40 minutes of extra battery life
    with dynticks and hi-res timers enabled. This stuff is new in 2.6.21, and
    already in the Gutsy kernel. dynticks also make it possible for the CPU to sleep
    much more. Another thing that’s important in that respect is HPET, basically
    doing something similar, but less effective. Every bit helps, however.
  • Intel has a nice tool to analyse userspace misbehaviour. It’s called
    ticktool and tells you which applications keep the CPU from
    sleeping. Having identified those, stracing the process in question can give you
    a better idea of what’s going on. Next step: Fixing it. Intel will release the
    tool on their website intellinuxpower.org (not up yet) shortly, rumours are
    “within a few days”.
  • Synchronising timer events can also help a lot. 5
    timers spread over the second force the cpu to wake up much more often than 5
    timers running all at once. Result: the CPU sleeps longer, you save battery
    life. There seems to be a patch doing this flying around in Oslo, although there
    are probably some things that need consideration before this can be widely
    deployed.
  • Intel will be working on a profile manager that should
    make it easy for userspace to specify power-profiles for various scenarios.
    Switching of devices and putting devices into a lower powerstate when they’re
    not used. Especially USB is a big offender, although recent kernels (2.6.21,
    especially) have mechanics to suspend those battery-drainers when they’re not
    uses). A proposal will pop up on relevant mailinglists within a couple of weeks.
  • Powermanager (the battery applet used in Kubuntu) will
    be ported to Qt4 for Gutsy. There’s very little KDE specific stuff in there, so
    it should be possible without losing lots of functionality. Kpowersave is deemed
    to complicated from a user’s point of view. Still, it would be interesting to
    know if kpowersave is being ported to KDE4, or if one should think about that
    functionality. powermanager is not distro-dependant, it does everything via HAL.
    I don’t think a python application is a viable option to have in KDE4 default
    and running since it adds about 8MB of extra memory in use and takes a bit long
    to start, especially with cold caches.
  • AMD/ATI’s fglrx driver is a total pain in the ass. In
    fact, it is the one component driver that is most complained about. ATI just
    doesn’t seem to care (“Increase your market share by a factor of 5 and we might
    fix the drivers”). I can only encourage people to actively avoid buying hardware
    containing ATI chips. Try to get an intel one. Given the bad quality of the
    fglrx driver and the lack of features, you’re Free Desktop will be able to take
    advantage of much more eye-candy and powermanagement features.
    ATI’s fglrx module is needed on my notebook, there’s a x1300 chip in
    there, which is currently not supported by a free driver. Finding a
    kernel-version / drvier-version combination that actually does suspend with this
    blob loaded took me a week and probably two dozen recompiles of various kernel
    versions. ATI’s engineers seem to actively ignore this issue. One of the latest
    releases contained a new user interface tool which makes it possible to change
    for example anti-aliasing setting for the video card. It doesn’t support things like
    texture_to_pixmap (useful for compositing features), proper suspend support
    (refuses to resume properly in >1 of 10 cases), you often have to wait for it to
    support recent kernels (happened with 2.6.20, took roughly 2 months while a patch was
    in the wild). AMD/ATI engineers seem to completely ignore the user’s
    needs. So by all means: Avoid buying ATI chips if you want your Free Operating
    system to run well.

So there’s a lot of exciting stuff going on in the powermanagement world.
Battery life and power consumption of your device will improve on the software
side.

On Desktop Wars.

Yesterday, after arriving at the Ubuntu Developer Summit in Sevilla,
I had three people in a row claiming one
of the following: “You’re a KDE guy, I’m GNOME guy, so we should be fighting
(rather than drinking beer together)”, “KDE? Sorry, I’m a GNOME user.” or “…
(silence)”.

Apart from that being serious or not, I’ll take it as an invitation to state my
stance about the relationship between KDE and GNOME:

  • Uptake of one is positive for the other. It’s easier to switch from KDE to
    GNOME and the other way round than it is to switch from Windows or Mac to Linux,
    BSD OpenSolaris or one of the other Free platforms supported.
  • If it’s either KDE or GNOME (or Windows or Mac for that matter), in the
    end that sounds like we’re heading from one monopoly into another. That is
    something we’re actively fighting at the moment. Priorities should be: “Free
    Software” and provide choice to the user. KDE and GNOME need
    each other.
  • How much sense does it make to put energy in competing with 2 – 3% of
    the market when 90%+ is still running a non-free desktop? (Hint: Zero) Instead
    the energy should be put into increasing the market share of the Free Desktop
    and then having the user choose. Healthy competition might exist, it might even
    make sense, but I’m getting tired of this KDE vs. GNOME stuff. It’s showing a
    deep lack of understanding and vision.
  • Emerging technologies (in this case desktop operating system, and yes,
    this clearly is not a mature market yet) always start in a monopoly-like situation. A
    stable market’s characteristic is that there are a couple of different offerings
    and that the user has choice. Maturing the market means:

    • A good portion of the market for the Free Desktop (wild
      estimation: 30%+ for the Free Desktop as soon as the market
      is matured.
    • Various offerings that operate together well.
    • Raising awareness of choice for the user. (How many people know
      that there’s something beyond Windows to run on a computer?)

So it might be easy for KDE and GNOME to pick on each other, but it doesn’t make
sense at all. Maturing the platform and the market is what we should aim for,
that strategy will give us a broader userbase than we expect.

Maybe 10×10 isn’t realistic because people failed to see that. Maybe
interoperability would already be better if people had understood that earlier.

Personally, being at the Ubuntu Summit in Sevilla at the moment gives me the
unique opportunity to work on that. Some weeks ago, Michael Vogt and
Sebastian Henlein
sent me a note that they’re working on a GTK-based UI for displayconfig. We’ll sit
together this week and think about how we can make configuration of X on the
Free Desktop easier and more reliable for the user.

That is Doing The Right Thing.