October 15, 2004

Cliff's List Filter - Oct 2 - 8

Author: Preston St. Pierre

It's almost the weekend and time again for another List Filter, with updates from mailing list, and developer groups across the internet. There are plenty of goodies for you this week: more preempt; more new (or updated) drivers; fixes for Linux that will allow it to support Visiobraille terminals; updates on the BSDjail LSM; more of GNOME is making its way to Windows; and a peek at the future developer plans for Mozilla.Linux Kernel
  • For those of you following the valiant work of Ingo Molnar on his Voluntary Preemt changes for the Linux 2.6 series kernels. Progress is still ongoing, with a large amount of the preempt code slowly being merged into Andrew Morton's -mm kernels, and from there (eventually) on to Linux's mainline tree. Ingo released a new version of his preempt patch for version 2.6.9-rc3-mm3, on October 5. Ingo is now tackling the BKL (Big Kernel Lock) in an effort to make that path pre-emptable, and by extension the kernel more responsive to other background processes.
  • Laptop owners running 2.6.9-rc3 who have trouble getting their laptops to power down when they halt the machine (shutdown -h) should recompile their kernels without APIC and IO-APIC support. With this new kernel, your laptop should then properly power down as you expect.
  • Mark Lord announced the release of a new version of the QStor SATA/RAID driver on October 4. This driver, which was written for the Linux 2.6 series which has been updated to 2.6.9-rc3.
  • While there is still an ongoing discussion on how to best merge this into the mainline kernel, it still may prove useful to some of you out there in its current state. Samuel Thibault sent a patch to the list which allows Linux 2.4 to talk properly talk to Visiobraille braille (TVB) terminals, which use a peculiar form of flow control that current Linux kernels do not implement. Most of these devices can be updated to use standard flow controls by obtaining a new PROM, but this upgrade is expensive as the hardware itself is very costly. A version of this patch for 2.6 kernels is also availale.
  • A new patch that adds an additional tunable parameter to the /proc file system blew across the kernel list, recently. It adds a new node in /proc/sys/vm called "swap_token_timeout". Currently, this value is hardcoded in the 2.6 kernels, but this patch allows this value to be tuned which may allow you to improve your system performance by adjusting the time the virtual memory system holds on to swap tokens. In a quick benchmark, raising or lowering the value of "swap_token_timeout" was able to improve the write throughput of the testing task by a small amount. Please note that the benchmark result gives "swap_token_time_out" in jiffies, as opposed to the latest version of the patch, which has moved the units to seconds.
  • Serge Hallyn adds 2 new features to the Linux Kernel. The first is a new hook which allows a Linux Security Module (LSM) to control visibility of the process id directories that reside in the /proc filesystem. The second is an LSM that uses this new feature to implement the BSD jail functionality under Linux. If you want to get an idea as to how these jails work, you can take a look at the documentation, which came in a later patch. Note that under these jails, you can't mount or unmount partitions, create devices, send signals outside of a particular jail, or change process priorities. There are more limitations as well, which are there to make it possible for you to partition your Linux system into a variety of "jails" which are basically virtual systems that are partitioned off from the normal system, as well as from any other jails that the administrator may care to implement.
  • John McCutchan updates his inotify patch to version 0.13.1 on October 6. inotify is a replacement for the dnotify facility that currently resides in the Linux 2.6 kernel. You can use this kernel feature to trigger a variety of events when a directory, that you have previously "marked" to be watched, changes in some manner.
  • The October version of the Linux Test Project was released on October 7. Updated in this release: documentation for writing PCI tests, changes to certain PCI test cases, fixes to several test cases that would break under certain automated environments, and more.
  • A new release of udev materialized this week, bringing the version counter to 034. For those who are unaware, udev is a replacement for devfs, which is designed to work around its shortcomings. udev works entirely in userspace to build a dynamic /dev, and uses sysfs and Hotplug to accomplish its magic. Updates in this latest release include: SELinux support, a new helper program, and some minor fixes. One caveat to new users of udev: you will need to change your start up scripts. udev is an entirely new way to initialize your /dev tree and it tries to accommodate you by allowing for scripts in /etc/dev.d that will kick off when a specific device node is created. What this means is that your monolithic initialization scripts will need to be rethought and split up by device, just like Hotplug scripts are. See this description of /etc/dev.d scripts, as well as this informative primer on udev for more information on what udev is, what udev is not, and how to best make it work for you.
  • More legal wrangling continues to be a concern for Open Source developers. The latest issue that may have an affect for the Linux kernel in general, and InfiniBand code in particular, is that the wording for the Infiniband group (IBTA) licensing agreement for the Infiniband spec has some very suggestive language in it that may make Open Source implementations of the spec problematic. Previously a license for this "free and open" specification was $50, now it is $9,500. There is still the possibility that the new wording is just handwaving and FUD and that there are no patents that the code needs to worry about, but the discussion is ongoing.
  • Finally, there were quite a few fixes for the 2.6 kernel series that flew across the kernel lists, this time around: First off, we have a fix for a race condition in the VFS code, which may cause a few unexplained Kernel Oopses on systems that have lots of drive activity; a minor correction to resolve a Kernel BUG in the NTFS code; another set of corrections fixes suspend issues with systems with Radeon Mobility cards (applies to 2.6.7,; some adjustments to correct a deadlock for SMP systems; another bug correction fixes the DMA behavior for drives on the IDE blacklist, which may affect drive performance (this problem even exists in 2.4.27); and another correction for 2.6.9-rc3 that should allow the OOM-killer to wake up and kill process hogs like it should.


  • A recent thread in the Epiphany mailing lists mentions a few websites that show that there are projects working on porting GNOME to the Win32 environment. GtkMozEmbed has also been seen lurking on Win32 desktops, as recently as June of this year. Hopefully it won't be long before we see heavier GNOME projects like Balsa or Epiphany on Windows desktops in the future.
  • If you find that you are extremely annoyed by the "Exit Fullscreen" button while using Epiphany in full screen mode, then you can just remove it. The referenced patch should apply cleanly to Epiphany 1.4.0, but may work for later versions as well.
  • Here's something neat for you to play with: Sandino Moreno has released gnomevfs-mount v0.1 which allows you to mount Gnomevfs URIs as a regular filesystem. This is only the second release (the first one is here) and it can already do impressive things like mount any tar.bz2 file or even FTP sites like "ftp://ftp.gnome.org". Sandino is looking for developers to help him complete the project, which is lacking things like authentication, cache support and documentation. So, if you are looking for an Open Source project to occupy your ti me with, consider gnomevfs-mount.
  • Here are a few enhancements and fixes for Nautilus for your consideration: first off, an update which should improve the display performance when opening a folder as a list view; another fixes sorting for list views; and it's probably the perfect time to segue into an offer from Alexander Larsson to come on in and fix Nautilus bugs. It seems that there has been a surge of activity in interest in the Nautilus code, but there are still plenty of bugs to squash. So if you have some time on your fingers, and are looking for something to do, maybe Nautilus hacking is something you could do?
  • GNOME software that has recently up escaped from the corral:
    • Balsa 2.2.5 was released on October 2. New features include fully working GPG integration and mbox driver improvements.
    • Epiphany 1.4.2 was released on October 7 and is mainly a bug fix release with updates for a few translations. If you are experiencing problems compiling Epiphany 1.4.2 from source, then a few minor changes to ephy-gui.c should fix the problem.
    • GNOME's CPUFreq Applet celebrated its v0.3.1 released on October 6. It now supports changing the CPU frequency from the applet itself, as well as improved performance handling of the /proc filesystem and userspace governors.
    • From the XML-is-the-future department, here comes MlView 0.7.0. MlView is an XML editor for GNOME and sports new features like keyboard shortcuts, a validation and error reporting system, infinite undo/redo and remote document loading. Version 0.7.0 is a major feature and bug fix release, and it's been over 5 months since the previous version v0.6.3. If you haven't used MlView in a while, are unaware of it. Give it a try and see what you can accomplish with it.
    • GnomePython v2.6.0 was also released, recently. It offers Python bindings for most of the GNOME 2.6 API including, but not limited to the gnome, gnome.ui, gnome.canvas, and gnome.vfs modules.
    • The seventeenth release of PythonCAD, a scriptable Open Source drafting developed, as the name implies, in Python was announced on October 4. Currently based on GTK 2.0, it is the hope of the developers to eventually offer PythonCAD in both GNOME and KDE flavors. Meanwhile, this latest version of PythonCAD adds rudimentary printing support, and UI improvements.


  • amaroK users who have noticed the removal of effects in the past few releases, please note that they were removed due to numerous reported malfunctions and were disabled in v1.1. Take heart, however. If you've discovered that you do miss the effects and are willing to deal with the problems (note, effects only work with the aRts engine) then you should be able to re-enable them with version 1.2.
  • The KDE demo animation mentioned in an earlier edition of List Filter has finally matured into its final version. Check it out! Please note that most of the elements used to create this animation will eventually be released out in the Open, and more of these animations are forthcoming from the creator, Bastian Salmela.
  • Budding KDE artists interested in using the vector version of the KDE icons can find information on how to obtain them from the KDE wiki.
  • Users seeking Open Source implementations of Text-to-Speech software may be interested in an informative message on the subject from a discussion on the KDE-Accessibility mailing listM.
  • Fedora Core 2 users who have experienced problems using the Kxkb program should read the entirety of a discussion which details several fixes to this particular problem. One fix doesn't involve compiling from source, another does, and as it turns out, fixed RPMs are available if you prefer that route.
  • As a reminder, developers who are looking to get a start on understanding the KDE internals should visit these KDE documentation pages.
  • New kode for KDE desktops:


See you again, next week!

Click Here!