I'm just beginning to dive into the internals of Linux, and I was wondering what the difference is between udev and the hal daemon. From what I gather, both seem to be responsible for managing hot pluggable devices... is hald used by udev to listen, or are they two separate things?

  • 4
    I could be wrong, but I think udev is newer and trying to take over. See the wikipedia entries on them.
    – Kevin
    Nov 2, 2011 at 0:16

5 Answers 5


One important difference is that HAL is deprecated.


hald is responsible for providing a unified interface to the current hardware configuration of the machine. udev is responsible for managing the various operations required when the hardware configuration changes while the system is live.

  • 1
    From hal-spec: HAL can notify other peers on the message-bus when devices are added and removed as well as when properties on a device are changing. Nov 2, 2011 at 1:43

HAL is responsible for Abstraction information a bout hard-ware devices. i mean it's not important that you knows all information a bout what you plug-in for example you are using some wireless card and the models of it is TP-link hal is responsible to make additional information shorter if you use "ifconfig" you saw wlan0 not TP-LINK

the udev is responsible to move devices in regular way and set some rules on them. for example you can tell udev: when i plug-in my blue flash you should copy my backups to flash

sorry if i have typos or relevment mistake have nice day.

  • Have you read Teddy's answer ? And that was five years ago... Jun 3, 2016 at 23:35

if we want say in simple word HAL is automatically detect the port when you plug the printer cable to the system in any any port. you don't want to only plug some specific port. HAL is a new method UDEV is not detect the port automatically they only detect the who port what you specify the port what you set in configuration time like port S1. UDEV is old method.


Whats the difference between U&L and wikipedia?

HAL (Hardware Abstraction Layer or rather Hardware Annotation Library) is a software subsystem for UNIX-like operating systems providing hardware abstraction.

HAL is now deprecated on most Linux distributions and on FreeBSD. Functionality is being merged into udev on Linux as of 2008–2010 and devd on FreeBSD.[citation needed] Previously, HAL was built on top of udev.[citation needed]

Some other OS-es which don't have an alternative like udev or devd still use HAL.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .