Thursday, December 13, 2007

New hal-info package released

Yesterday I released a new package of hal-info. The new version (20071212) contains now also most of the suspend quirks from the s2ram whitelist. For more information about the changes see the release mail on

For openSUSE you can get an up-to-date hal package (which contains the latest hal-info) for Factory and 10.3 here.

Tech Tags:

Monday, November 26, 2007

HAL patch collection (4)

Here my actual HAL patch collection. I send them already to the HAL mailing list, but they are not aproved yet (also because David isn't active/present on the list).

  • a patch to remove the Eject() methode from dm-devices. The eject command is a ioctl and not supported by dm-devices (at least on Linux). On crypto volumes you should use Teardown() instead, which do the same.
  • a patch to fix calculation of the remaining time of ACPI batteries, if they report the wrong charging state (e.g. if they report 'charged' if the battery is charging). With this patch HAL try to guess the correct state depending on the AC state and the state of the other primary ACPI batteries in the system.
  • a small fix to prevent endless loops on fdi-files with a empty rule (only a match, but nothing merged etc.).
  • two patches for the Dell brightness [1] and killswitch [2] (against hal-info) devices. With kernel 2.4.24 (or this patch) there is now a uevent if the platform device of the dcdbas module get added/removed. Attach the Dell devices now to this platform device in the HAL device tree. This should fix the problem that HAL provide the Dell devices and methodes also if the needed kernel module isn't loaded.
  • extend HAL try to get the smbios information from sysfs on startup instead of call a prober (which call dmidecode, parse the output and set the properties to HAL). If /sys/class/dmi/id isn't present it falls back to the prober.
  • small fix to ignore module and drivers uevents in HAL, since they aren't events for devices
  • a patch, needed also for the Dell devices, to remove also via fdi-files spawned devices if the parent device get removed. Currently the devices get not removed, also if they are not visible in lshal (because the parent was removed), which mean also the may started addons get not stopped.
  • two patches to add more checks: to the partutil code [3] which should prevent possible crashes and to libhal [4] to check e.g. if a given UDI is valid (should start with: /org/freedesktop/Hal/devices/)
  • extend HAL to add also drm (Direct Rendering Manager) devices to the device tree.
  • a fix to stop HAL from flood syslog with warnings if the remaining time get over 60 hours (which can happen on broken batteries)
  • small patch to fix possible segfaults if HAL get compiled without IDs (PCI/PnP/USB) support

These patches are against current HAL git. As always: you can find all my current HAL patches here, if a link to a patch doesn't work, the patch was maybe moved to this directory. The patches are already part of the HAL beta package in my openSUSE buildservice repo.

Tech Tags:

Tuesday, November 06, 2007

TabletPCs: Cellwriter

Recently I found a new cool tool for TabletPCs: Cellwriter. The developer describe it as 'a grid-entry natural handwriting input panel' and it reminds me to the input panel on the Windows XP TabletPC Edition.

It provides a way to enter text by write characters with a pen to a grid. The big advantage in comparison with e.g. tools like xstroke is: there are no limitation for the way you write a character. You can take off the pen for one character and write points or an other line. This allows to write all characters of Unicode (e.g. German umlauts or chinese). As first you have to train the tool to correctly recognize your input. For this you can use the 'Train'-dialog where you should write each char five times into the related grid.

After the user trained CellWriter, he can use it to simple input text, commands or whatever to any desktop application that has the focus. Cellwriter show as applet e.g. in the KDE Panel and can get hide/shown via click on the applet icon. You can place the window free on the desktop or dock it to Top or Bottom of the screen. The input dialog allows also to correct wrong recognized input or to simply delete input. If you finished, simply press enter to send the text to the application with the input focus.

If you prefer to enter text via a virtual keyboard, CellWriter has also a solution for this. Simply press on the Keys icon and you get a virtual keyboard. Unfortunately this works for me only if the window is docked to the screen, but I assume it is a bug. There is also some more room for improvement: I could not find a way to configure the layout of the virtual keyboard, it was always US.

Cellwriter is a relative young project. The Changelog show the initial package is from end of August 2007. But it is a great tool and work well, also if there is some room for improvements:

  • The user need to train the tool before use the first time. It would be useful to have a basic pre-trained mode, which would allow the user to simply use it from the first start (at least for basic Latin characters).
  • The keyboard need to get fixed (see above) and should support configurable key maps.
  • If CellWriter is docked it should simply roll itself up if the focus get lost (like yakuake). If Cellwriter is in not docked the window is unfortunately always on top, thats annoying.
  • It would be cool if Cellwriter would detect input areas automatically and would show a icon besides this area to pop-up the input window. Not sure if this is that simple or if this need some changes in the desktop environments, but it should be IMO possible.

Conclusion: Cellwriter is a great tool, I like it. It allows TabletPC users to get basic, but natural handwrite recognition. Simply forget xstroke, this tool is very much powerful. I have already packaged it for openSUSE 10.2, 10.3 and Factory. You can get the packages from my repository. Feel free to install and use it. We plan to add the package to the next openSUSE release.

Tech Tags:

Sunday, November 04, 2007

KPowersave 0.7.3 released

Some days ago I released the next version of KPowersave (v0.7.3). Also if this is a package is marked on as 'unstable', which mean it's from the development tree, this is a really stable version.

Here a list of the major changes since the last release:

  • new feature autodimm, which allow to reduce the brightness of the display automatically if the user get inactive (after a defined time) and dimm up if the user get active again
  • new dialog shown up 30 seconds before autosuspend call the suspend, to warn the user and allow chancel the suspend
  • new dialog to show logfiles if a suspend/resume fail and allow the user to save the log (need to get enabled per distribution, depending on the suspend solution)
  • added code to check if the current desktop session is active and handle usecases if the session get inactive (via ConsoleKit)
  • KPowersave work with new PolicyKit/ConsoleKit/HAL combination and checks if the user is privileged (for HAL >= 0.5.10 and related PolicyKit versions)
  • prepared to work also with HAL >= 0.5.10 (handle renamed policy names in HAL)
  • release/aquire org.freedesktop.Policy.Power if the session get inactive/active to allow powersaved or other active KPowersave instances to handle powermanagement
  • use now kdebug functions instead of own macros, added --dbg-trace option to allow trace function entry and leave points

The release contains also many smaller changes and lots of bugfixes and translation updates. For a complete list of changes, take a look at the package Changelog or the commit log which is part of the source.

You can download the source and rpms as always via or directly via the sourceforge project page. On are besides the source tar.bz2 already packages for these distributions (for ix86 and x86_64) available: Mandriva 2007.1/2008, openSUSE 10.2 (also for ppc) and Fedora Core 6/7/8. The package is already part of the released openSUSE 10.3.

Tech Tags:

Friday, July 06, 2007

Novell is now Patron of KDE

Great news: Novell became as first Linux distributor an official patron of KDE. I don't understand why this wasn't announced by Novell yet. I could only find Novell now listed on a webpage of KDE e.V.: 'Supporting Members', but I think this is a good step of Novell/SUSE to give some back to the (KDE) community.
Tech Tags:

Tuesday, June 19, 2007

FujitsuSiemens TabletPC button module

There is, since some months, a new project to support the buttons of Fujitsu Siemens TabletPCs (T- and P-series machines with FUJ02bf pnp devices) including the 'Application Panel'. The project called fjbtndrv provide a kernel module to get the tablet button and the brightness key events via the input layer (/dev/input/event*).

Additionally, and this is IMO the best, the module catch the tablet rotation event from convertible FSC TabletPCs. This allow us now to detect the state of the tablet (open/rotated-closed) and react on the event e.g. in KDE via KRandRTray and rotate the screen. Together with IBM/Lenovo we have now a way for machines of two major manufacturers to go a step forward with TabletPCs.

I packaged a KMP rpm for openSUSE 10.3/factory. You can download the rpm (fsc_btns-kmp) as always from my home project in the openSUSE build service. The package get later included into the SUSE distribution.

What are my next planed steps to improve TabletPC support?
  1. extend the wacom driver to rotate automatically with XRandR extension
  2. extend KRandRTray to:
    • get rotation events
    • get events from rotate hotkeys
    • allow the user to configure if and how to rotate the screen on these events
Tech Tags:

Monday, May 21, 2007

Fujitsu P-Series tablet driver

Since SLE10/SUSE 10.1 SaX2 supports to configure the touchscreen of the Fujitsu Siemens P-Series Tablet PCs. Unfortunately the needed driver for the X server wasn't free available at this time IIRC.

Some weeks ago I added a repackaged version (merged libtouch code from the evtouch driver and added the code to a working autotool package) of the fujitouch driver (v0.6.3) for openSUSE 10.2/10.3 to my home project at the openSUSE build service which work with Xorg 7.2. Unfortunately I had no access to a p-series machine, but I got contact to a user with a P1610 which helped with testing to get the package basically working (only rotation via tools like KRandRTray didn't work).

Now there is a new version 0.6.4 which support automatically rotation via the XRandR extension and which use the same package structure as my version of 0.6.3. You can find RPMs (including some patches to build correct) for SUSE here, feel free to install and report problems via the Novell Bugzilla. The package get merged into the SUSE distributions as soon as the driver work as expected.
Tech Tags:

Wednesday, May 16, 2007

KPowersave in openSUSE build service

Since some weeks I provide SVN snapshots of KPowersave via the openSUSE build service for openSUSE 10.2 and 10.3/factory. You can get the packages from my home project. Feel free to test and report bugs via openSUSE bugzilla (assign to: dkukawka_at_novell_dot_com).
If I find the time and muse I add also packages for other distributions (patches for the spec-file are welcome) sometime.

Tuesday, March 13, 2007

SUSE Tablet PC support

In the last week I worked on better Tablet PC support for SUSE Products. Her now some infos about the progress:
  • I packaged a special 'SaX2 Tablet PC Edition' (available for SLE10/10.2/10.3) which fix the existing Tablet PC support and provides now more support in for Tablet PCs in the Tablet section than the normal sax version (IBM X41, ACER TM C300/C301/C302 series, Fujitsu Lifebook T series (T3010/T4010), HP Compaq TC4200, Motion M1200 and M1400 and general Wacom Tablet PCs). Feel free to download and install, but also to report your special settings for other machines to me.
  • Added a updated version of the wacom input driver (for SLE10/10.2/10.3), Jarnal and Xournal to my home project.
  • Getting a Gateway M280e Tablet PC running. This machine use a Finepoint tablet instead of a Wacom device. You need the x11-input-fpit driver to be able to use the tablet. I added a package for openSUSE 10.2 to my home project at the openSUSE Buildservice, for openSUSE Factory/10.3 the x11-input-driver package should be up-to-date and contain a working version of the fpit-driver. To setup the device on 10.2 you need to install setserial and call this as root on command line:
    setserial /dev/ttyS0 port 0x03F8 irq 4 baud_base 38400
    For factory/10.3 this should happen automatically via HAL (a updated HAL version for 10.2 will follow the next days). To configure your X-Server you should download and install my 'SaX2 Tablet PC Edition' where you can simply select the Finepoint device in the Tablet section.
Tech Tags:

Wednesday, March 07, 2007

KPowersave Debian / (K)Ubuntu packages

Now are also updated packages (v0.7.2) of KPowersave for Debian via experimental available (see here). Thanks to Michael Biebl for packaging and maintain the package for Debian.

Also thanks to Luka Renko for update the Ubuntu/Kubuntu KPowersave package to v0.7.2. As it looks also many people would like to see KPowersave as default (see e.g. this discussion) on Kubuntu. Maybe Kubuntu can switch from the guidance-power-manager to KPowersave (since we use now HAL instead of powersave) as default under KDE ?!

Feel free to test the packages and report bugs to your distribution.
Tech Tags:

Friday, February 23, 2007

KPowersave Mandriva/FC 6 packages

Today/yesterday I released new packages of KPowersave v0.7.2 for Mandriva 2007.1 and Fedora Core 6 on You can download the RPMs and SRPMS for ix86 and x86_64 from the project home page. Report bugs for these distributions as always via bugzilla or the powersave-users mailing list.

Monday, February 19, 2007

KPowersave 0.7.2 released

This weekend I release the new KPowersave version 0.7.2. from the development tree. This release is really a major step to the next stable version/tree 0.8.x. As first: forget the tutorial I wrote for v0.7.1 to manually change the settings of KPowersave - you don't need it anymore. You can now change all settings via the new updated configure dialog.

Here a list of the major changes since the last release:
  • extended/updated configure dialog to provide this functionality:
    • schemes settings:
      • add new and delete existing (no default) schemes
      • define a CPU Frequency policy for each scheme
    • general settings:
      • define battery warning levels and actions if a level reached as e.g. Suspend to disk, Shutdown or change the brightness
      • configure actions for button events (Power/Lid/Suspend/Sleep)
      • define the default AC and battery schemes
  • show now the power consumption of the battery in the detailed info dialog if discharging
  • umount external media before suspend (need a patch of the KDE media manager) to avoid data loss and remount on resume
  • reset the CPU Freq settings on resume to avoid different CPU governors on multicore /CPU machines
  • call now SetCPUFreqConsiderNice(), SetCPUFreqPerformance() on dynamic CPU Freq policy (as poweruser setting only changeable via config file) and also SetPowerSave() with true on battery and false otherwise
  • support also conservative governor as DYNAMIC fallback
  • fixed brightness handling in the configure dialog if not activated
  • removed accelerator tags from i18n() strings. KDE handle this by itself.
  • Improved config GUI to be better accessible via keyboard.
  • code and code documentation cleanups and updates
I also fixed many bugs since the last version for more information read the release news. Due to the changes in the config GUI and the removed accelerator tags the most translations are currently not up-to-date (full translated: de, da, tr, zh_CN and zh_TW). Thanks to the following people for sending updates for their languages: Stefan Skotte (danish), S.Çağlar Onur (turkish) and Zhengpeng Hou (chinese). Any help on update translations would be really appreciated.

You can download the source and rpms as always via or directly via the sourceforge project page. Currently are only rpms for openSUSE 10.2 available, other distributions will follows in the next days.
Tech Tags:

Linus vs. GNOME

Do you remember the little flamewar between Linus Torvalds and GNOME December 2005 as he "encouraged people to switch to KDE" and called GNOME developer "interface nazis"?

Now the continuation: Linus wrote and submitted some patches for GNOME to change the behavior as he like it. You can follow the discussion on the Desktop Architects mailing list and get information about the patches here.

Here two quotes from one of Linus mails:
So let's see what happens to my patches. I guarantee you that they actually improve the code (not just add a feature). I also guarantee that they actually make things *more* logical rather than less (with my patches, double-clicking on the title bar isn't a special event: it's configurable along with right- and middle-clicking, and with the exact same syntax for all).
Now the question is, will people take the patches, or will they keep their heads up their arses and claim that configurability is bad, even when it makes things more logical, and code more readable.
IMO he is battlesome as always, but by sending patches also more constructive ;-)
Tech Tags:

Tuesday, January 30, 2007

KPowersave outlook to 0.7.2

Currently I work on the next KPowersave version 0.7.2. The most work is already done and the new configure GUI get finished for this version. Here two screenshots of the new dialog.

The first show the new schemes section which now allow to create new and delete existing schemes. I also included a new tab to config the CPU frequency policy for each scheme:

The second show the new 'General Settings' section which now include the already in 0.7.1 via the config file changeable options: battery levels and actions, button events and the default AC/battery scheme (click on the picture to show the animated gif and all new tabs).

I plan to release the new package (including many bugfixes) within the next days. A complete translation is currently only available in german. Feel free to checkout the translation files from here, to translate to your language and to send me the updated file. Any help would be really appreciated.
Tech Tags:

Friday, January 19, 2007

KDE Tablet PC support

One of problems with Tablet PCs under Linux is lacking support for small, but very essential features as the Windows XP Tablet PC Edition provide. There are already drivers for machines with e.g. Wacom tablets or some Fujitsu Siemens (FSC) devices and also some applications as Xournal, Jarnal or xstroke which provide useful features.

On SUSE there is also support in SAX to configure Wacom and FSC devices and I already wrote a patch for HAL (v0.5.8/git) to detect Tablet PCs and set the needed Ports correct and automatically. There is also a patch for XDM to show xvkbd on login and a patch for KDE to show xvkbd on the unlock dialog from Lubos Lunak.

But until now one feature was missing: The user could rotate the screen via KRandr and also the Wacom driver support already rotation but there was no way to do this together because the Wacom driver did not support the XRandR extension. The user had to call xsetwacom to rotate also the input devices to use rotation. Thanks to Stephan Binner the user can now rotate the screen and the input devices together via KRandr and it work like a charm. You can find the patch here.
Tech Tags:

HAL patch collection (3)

Some time since I posted the last blog entry. So now the first message of the new year.

Here some new patches I send to the HAL mailing list which aren't included in the git repository because they are not approved (I think David Zeuthen is currently in Australia, so he is maybe not that often online.):
  • two patches to cleanup the Linux LUKS scripts [1] and fix the password handling to prevent the bash from word splitting and path expanding [2]
  • a patch to add support for IBM ACPI hotkey events, which allow HAL to send e.g. the sleep and s2disk/hibernate button event as currently already for other machines: here
  • a patch which fixes the detection of libsmbios for the Dell backlight addon - the code of the addon need libsmbios >= 0.11.6 - by proof the library version: here
  • a fix for set/get brightness on machines which supported by sonypi kernel module: here
  • a fix support the old and the newer version of the omnibook kernel module, which try to find the max. supported levels of brightness: here
These patches are against current HAL git. As always: you can find all my current HAL patches here.
Tech Tags: