Gentoo Archives: gentoo-user

From: "Canek Peláez Valdés" <caneko@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: OT: change and improvement
Date: Fri, 07 Oct 2011 05:11:01
Message-Id: CADPrc80PMjchdaUYosp+EbVEpO7sNwjNe0wM-ArjJG8MnRTbnw@mail.gmail.com
In Reply to: Re: [gentoo-user] Re: OT: change and improvement by Michael Mol
1 On Thu, Oct 6, 2011 at 8:39 PM, Michael Mol <mikemol@×××××.com> wrote:
2 >
3 > On Oct 6, 2011 11:34 PM, "Dale" <rdalek1967@×××××.com> wrote:
4 >>
5 >> Grant Edwards wrote:
6 >>>
7 >>> On 2011-10-06, Jonas de Buhr<jonas.de.buhr@×××.net>  wrote:
8 >>>
9 >>>> don't get me started, the suppressed memories about HAL-config or
10 >>>> broken suse-10 usermount may come back ;)
11 >>>
12 >>> HAL... shudder.
13 >>>
14 >>
15 >> Let's not get started on hal.  Pardon me while I go pray to the porcelain
16 >> gods.  :/
17 >
18 > I'm really sorry, but I missed that show. I was in Ubuntu-land learning not
19 > to tweak system behaviors.  WTF was the deal with HAL? What was it supposed
20 > to do? Why didn't it work?
21
22 HAL was the Hardware Abstraction Layer. The idea was that it would be
23 an index of the computer's hardware, so high level parts of the stack
24 would know what hardware and capabilities were available, without the
25 need of communicate with the kernel directly. This had the (perceived)
26 advantage of bein "portable", so for example a program using HAL could
27 run in any OS. Even Windows was theoretically included.
28
29 But it ended being *HUGE*, because it needed to handle a lot of
30 different hardware and Operating System quirks, and the design was
31 rigid and not very scalable. Also, it turns out that a lot of
32 Operating Systems do not have the necessary developers to fill the
33 specifications required by HAL: if I remember correctly, Solaris and
34 the *BSD family of systems implemented only a fraction of what was
35 needed. So, as is usually the case with "portable" code, the software
36 using HAL had to use the minimum common denominator.
37
38 In the end, udev was making huge advances, and HAL could not keep up
39 simply because the other Operating Systems didn't have similar
40 capabilities, so the consumers of HAL (desktop systems, mostly)
41 started to use udev directly. That was when the shit hit the fan: if
42 the purpose of HAL was to mantain "portability", but the biggest and
43 most active developer community (Linux) refused to use it since it
44 didn't allowed them to use the full capabilities of the operating
45 system, then it had (literally) no reason to live. So the HAL
46 mantainers saw the error of their ways, and they deprecated it, saying
47 to the user space developers that, in Linux, they should use udev, and
48 in other Operating Systems whatever was equivalent, if any.
49
50 It was really fast, if I remember correctly: one day half the programs
51 in my computers used HAL, and the next every single one of them
52 stopped using it. In Gentoo in particular was pretty rough, since the
53 X.org version that used HAL had just become stable (which was kinda
54 difficult to transition to), and next thing you know, you again had to
55 transition, this time to a HAL-free X.org. A lot of users got really
56 angry in Gentoo because of that.
57
58 I remember it was a couple of days getting everything back to normal,
59 but it required taking down at least one production system, and
60 basically rebuilding everything on the desktop stack in a workstation
61 computer (since the desktop was the most heavy user of HAL). But I had
62 it worse with the glitz cairo USE flag, or the several expat problems
63 that always arise when you update that library. HAL was bad, but
64 (IMHO) not *that* bad.
65
66 In the end, everything is fine I believe. The desktops (all of them)
67 have made a lot of advances in Linux since they no longer had to use
68 the minimum common denominator, and it showed a lot of devs that the
69 mythical grail of "portability" is not that great at the end of the
70 day. That's one of the reasons the developer of systemd refuses to
71 make it portable to other Unixes: it allows him to use all the great
72 and specific features of Linux, and not to worry about other systems.
73 If other systems want something similar to systemd, they have the
74 liberty of programming themselves, of course.
75
76 This is how I remember it. If I made I mistake, someone please correct me.
77
78 Regards.
79 --
80 Canek Peláez Valdés
81 Posgrado en Ciencia e Ingeniería de la Computación
82 Universidad Nacional Autónoma de México

Replies

Subject Author
[gentoo-user] Re: OT: change and improvement Grant Edwards <grant.b.edwards@×××××.com>