So, been a while, but here’s something I just threw together. It’s still a little rough around the edges, but it seems to be more robust than tpb for my system, at least, and it doesn’t require me to make /dev/nvram available.

It uses /sys/class/backlight/thinkpad_screen/actual_brightness (from the thinkpad_acpi module in the 2.6.22 kernel) to figure out the screen brightness, and /proc/acpi/ibm/volume to figure out the volume and mute states, also provided by the thinkpad_acpi module (I’ll switch to using sysfs for this when it becomes available).

It also requires the ruby-xosd package, which you can get from my overlay: git://git.pioto.org/pioto-overlay.git

For lazy paludis users, just add this to /etc/paludis/repositories/pioto-overlay.conf:

<pre> format = ebuild location = /var/paludis/repositories/pioto-overlay sync = git://git.pioto.org/pioto-overlay.git master_repository = gentoo names_cache = /var/cache/paludis/names write_cache = /var/cache/paludis/metadata </pre>

Or, you can just do: playman -a pioto-overlay

You can get the current version of this script from git at: https://github.com/pioto/rbtpb

Update: Fix links.
Update 2: Fix links, again.