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
- 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. :-)
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.
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
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
. I still have some
of them pending on my camera, they’ll be hitting the same page tomorrow.
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
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
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 “…
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
- 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
- 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
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.
is Doing The Right Thing