HAL - Hardware Abstraction Layer
|HAL is in maintenance mode - no new features are added. All future development focuses on udisks, upower and other parts of the stack. See Software/DeviceKit for more information.|
These pages attempt to provide a specification and an implementation of a hardware abstraction layer.
For a good background on what a HAL does, see the "Making Hardware Just Work" article that motivated this work.
- View latest code on-line: http://cgit.freedesktop.org/hal/tree/
- View latest changelog/commitlog online: http://cgit.freedesktop.org/hal/log/
- Building development tree: HAL Build Instructions
- Tarballs are available at http://hal.freedesktop.org/releases/
Git is now being used for HAL. There is a nice tutorial for using git with freedesktop.org projects. There is also another tutorial at IBM Developerworks site. You can also take a look at http://cgit.freedesktop.org/hal/tree/HACKING.
hal-info is a small hal sub-package that provides the hardware data and quirks. These quirks are currently things like what mice support reporting battery status, what music players are supported and what cameras are detected.
hal-info and hal should not be packaged together. When packaging hal, it should depend on hal-info, of any version. hal-info should also be checked out in the same level directory as hal if you intend to use ./run-hald.sh
* Linux kernel 2.6.19 (or later) * util-linux 2.15 (or later) * udev 125 (or later) * dbus 0.61 (or later) * glib 2.6.0 (or later) * expat 1.95.8 (or later) * bash 2.0 (or later) * hal-info 20070402 (or later)
* libusb >= 0.1.10a * pciutils >= 2.2.3 * dmidecode >= 2.7 * parted == 1.7.1, 1.8.0, 1.8.1, 1.8.2 or 1.86 * cryptsetup-luks >= 1.0.1 * libsmbios >= 0.13.4
* <table class="mointable"> <tr> <td>HAL Discussion</td> <td> <a href="http://lists.freedesktop.org/mailman/listinfo/hal">email@example.com</a></td> </tr> <tr> <td>HAL commit notification</td> <td> <a href="http://lists.freedesktop.org/mailman/listinfo/hal-commit">firstname.lastname@example.org</a></td> </tr>
* <a href="http://freenode.net">#hal</a> on freenode.net
- Guide to using powermanagement quirks to fix resume
- Guide to using keymap quirks to fix unknown scancodes
- Latest HAL specification
- "System Integration and GNOME by David Zeuthen (GUADEC June 2006) - ODF
- "System Integration and GNOME by David Zeuthen (GUADEC June 2006) - PDF
- "HAL reverse engineered" (for OpenSolaris) by Artem Kachitchkine (April 2006)
- "Adding encryption support to HAL: A user's experience with Fedora development" (Red Hat Magazine) by W. Michael Petullo (October 2005)
- "Desktop and Hardware Configuration" (Red Hat Magazine) by David Zeuthen (January 2005)
- "Making Hardware Just Work" by Havoc Pennington (July 2003)
- libhal++: C++ wrapper for libhal and libhal-storage. As of now not supported by the HAL project/developers: bug reports/requests please to internalerror AT gmail.com (M.Derezynski)
- libhal++ has now been superceded by HAL/C++, a reimplementation of libhal and libhal-storage in C++. The project can be found at the same server, HAL/C++