HAL is a hardware abstraction layer aiming to provide a live list of devices present in the system at any point in time. Version 0.2 was just released. Read more about it in our recent interview with its author.
HAL is a hardware abstraction layer aiming to provide a live list of devices present in the system at any point in time. Version 0.2 was just released. Read more about it in our recent interview with its author.
Is it me or is HAL nothing more then a gui for sysfs?
Have you not read the specification at http://freedesktop.org/~david/hal-0.2/spec/hal-spec.html ?
Its great linux will now have a HAL, and I look forward to the potential it will bring to the desktop – look what the HAL for windows did in terms of device support etc. Using DBUS will mean that any application can monitor notifications and act accordingly. This will provide a much more ‘XP’ like way of handling hardware, which I believe to be a great thing.
I too am looking forward to HAL, ie. when applications get rewritten to take advantage of the information which HAL provides to applications. It would indeed be nice to have instant-aware device notification,configuration and activation. But dear gawd let us hope it is not as EVIL as windows XP. For some unknown reason XP has this incapacity to ever forget: ie. once you connect a new peripheal, if XP falsely configures it, there is no way to eliminate the bad configuration.
You can manually edit the registry deleting key after key after key, you can unistanll the drivers and manually delete the .inf files, you can even do a system restore- nothing helps-once the bad config gets in youre screwed. Hardware recognition has been my biggest problem with XP. I plugged a pcmcia wifi adapter into my notebook and XP has been screwed ever since-ie. 100 error messages per minute, not kidding. On my main machine XP simply stopped recognizing my Canon 6100 printer-it worked fine for a long time and then *bam* XP cannot talk to it anymore- and yes the printer is fine- works fine under Linux.And boy did I have fun with my SBlive audio card- getting the sound to work with my 4+1 speaker system was worse than under Linux. Most of my hardware which I purchased back when win98/win2k were en vogue do not work under XP- no one ever wrote drivers for them. Actually win2k is the only remotely stable microsoft OS I have ever encountered.
The only problem that Linux has with hardware is the lack of acces to the design and technical documentation regarding the inner workings of propietary hardware drivers. That is the ONLY problem. IF Toshiba would share their f+cked ACPI implementation in the 5005-s507 Linux would work fine and I could use ACPI. If Creative Labs would share the API they used in creating their windows software, remember their emu is programmable, Linux would support SBlive and Audigy wonderfully. If Intel would release the specs on their Intel Webcam I might be able to use it under Linux. If HP would really support their printers under Linux I might be able to get more than 600×600 printing under Linx. And of course Canon, the worst Linux printers period, could also share a thing or two.
I would actually like to see legislation requiring manufactures to disclose the technical and design specifications necessary to support their devices. As a consumer I should be able to use the hardware in any way I desire. Of course the hardware manufactures can’t support all possible configurations and operating system environments- fine-they should not have to, they should simply have to provide sufficient documentation to enable third parties to implement drivers and support said hardware on unsupported platforms.
This is really a consumer issue and manufactures have been allowed to screw over tens of thousands of customers routinely for years. They provide little if no documentation- which not only eliminates the possibility of writing drivers for them independent of reverse engineering/hacking, but also preclude the possibility of repairing or maintaing the hardware by third parties. The devices themselves are not even supported by the companies themselves after the next product generation has been released, which forces and holds people in the upgrade cycle. I can only imagine the nightmare that procuring agencies must go through when aquiring such dvices for the public sector with tax payers dollars.
Slowly but surely corporations and government agencies are realizing the benefits of open source software, this will hopefully lead to legislation which respects open source overturning the recent legislation enacted overr the past 3 years. Hopefully this will in turn lead to a “consumer bill of rights” which will free consumers from the propietary artifcial dependency which manufactures have created to maintain their relative monopolies. Technical and design methods are not propietary IP- they are patentable and the methods should be open to public access. ATI would gain nothing by seeing the source to Nvidia’s drivers-for the hardware implementation is significantly different. Any time the hardware implementation is significantly different the revealing of technical and design documentation cannot really threaten that which makes the product economically viable.
The line of code:
char* device_get_property (Device *device, const char *name);
will only be meaningful to someone who has aspects to the documentation. And although the code may be similiar for Nvidia and ATI, what is actually going on in terms of hardware software interface is totally different. ATI could not make use of Nvidia’s technical documentation due to to their hardwar implementation differences. This situation is the same for thousands of other devices. Could ATI use Nvidia Vertex Shader routines if their TTL implementation was totally different ?…..Ok I am rambling here, but I hope the point is getting through.
HAL will only then make a difference when the thousands of apps have been adopted to making use of the new information. Hopefully HAL will, by being a freedesktop standard, succeed in motivating developers to integerate its functionality into their software. HAL plus D-Bus plus the 2.6 kernel will set the scene for the next couple of years. Various distributions of Linux have already started to repeat the mistakes of windows XP. Some of these autodetection schemes are now guilty of falsely recognizing and configuring devices and creating a new layer of problems which become virtually insolvable. At least Linux never tells you that it cannot find your disk controller or your video card- something which windows does with such comical effect-ie. you are *looking* at windows, and of course the date is stored on the harddrives, yet windows reports errors about missing hardware. We do not need virtual problems, the real problems are more than sufficient. Real problems are hard to solve, sometimes impossible, but virtual problems are always virtually impossible to resolve
“For some unknown reason XP has this incapacity to ever forget:”
should read :
For some unknown reason XP has this incapacity to never forget:
I think there is some confusion here. HAL is not the same HAL as what you have in XP. XP’s HAL actually has nothing to do with device management. The XP HAL (Hardware Abstraction Layer), abstracts the rest of the kernel from the details of the platform (like interrupt handling, etc). In XP, device handling is done through the Plug & Play Manager. In Linux, the same tasks are accomplished through sysfs, hotplug, and the driver API. HAL is something entirely seperate. HAL has no corresponding component in Windows, because Windows only has one DE. HAL’s purpose is to take the functionality provided by sysfs, hotplug, etc, and expose it to desktop environments in a platform-independent manner.
Karl, what you wrote is not a comment but an article in the making ;-). You should do a write-up with screenshots to warn the kernel developers hehehe