
Originally Posted by
http://www.osnews.com/thread?459128
FreeBSD has had devd since 5.0 was released many, many years ago. This is a kernel-level, event-driven notification framework for hardware. Everything devfs, new-devfs, udev, HAL, new-udev, and udisk wanted to be ... was already there.
It's very easy to add a script to an ACTION stanza in /etc/devd.conf to do whatever you want (mount a filesystem, import images, start a hot-spare replacement in ZFS, etc). And /etc/devfs.conf covers setting users/groups/permissions on devices nodes as they are created by devd.
powerd has been available in FreeBSD since the 5.0 days, and handles CPU power management with a bunch of options.
All of the *Kits have been available on FreeBSD fairly soon after they're available on Linux.
This is not an issue of "FreeBSD doesn't support the features we need" and more an issue of "FreeBSD does things properly, without changing every 5 minutes, and we don't know how to handle that".
The correct "solution" here is for "desktop" devs to stop using the kernel features directly and having to continuously rewrite things for udev, HAL, *Kit, u*, etc and instead to write to a standardised abstraction layer with pluggable backends. Something the KDE devs figured out with 4.0 and the creation of Solid and Phonon and similar.
Maybe the freedesktop.org community should get together and work on this abstraction layer, and then let the kernel devs from Linux/FreeBSD/whateverBSD/Solaris/etc work on the backends. A nice decoupling of the "desktop env" from the "kernel/u*/*Kit backends".
Either that, or all the desktop env projects need to remove things like "portable", "for Unix-like systems", "POSIX-compliant" and other such nonsence, and mark themselves as "Linux-only".