Slashdot Mirror


Simplifying Linux Driver Installation

prostoalex writes "O'Reilly Network posts an update on Project Utopia that produced Hardware Abstraction Layer for Linux simplifying device changes. They also link to the Driver on Demand project on SourceForge, whose goal is to create a central database to enable Linux desktops download the drivers automatically when the user plugs in her new hardware device."

102 of 377 comments (clear)

  1. Neat! by storem · · Score: 2, Insightful

    Next thing you know there won't be any reason anymore to stay with XP :)

    1. Re:Neat! by Slayk · · Score: 2, Funny

      There was ever a reason?

    2. Re:Neat! by spamsk8r · · Score: 3, Informative

      Games.

    3. Re:Neat! by AntiGenX · · Score: 3, Insightful
      Actually, as a Mac/Windows/Linux user... I have to say XP is very compelling. I can run it full-tilt (compiling, rendering... etc) for weeks without a reboot. It's not the Windows of 5-10 years ago. Of course some people like to hate Microsoft just because it's "cool", and those people will never change their minds. Me, I live in the real world where I have to run lots of different systems. I admit that I HATED Microsoft from Win3.1-2000, but it would be hard for anyone that has used their products through the various revisions to say that Windows has not improved significantly.

      As for security, the only truely SECURE system is one that is unplugged and sitting in a locked closet. Otherwise, get a firewall, get a virus scanner, and don't open weird email attachments.

    4. Re:Neat! by LehiNephi · · Score: 4, Insightful

      That's no joke. Why haven't I switched permanently to Linux? The list of reasons is quickly becoming shorter and shorter.
      Games? - The biggest games (and more games in general) are getting Linux ports.
      Office suites/productivity? Done.
      Plug 'n' play hardware and peripherals? Getting better, but the actual hardware manufacturers sure seem to be dragging their heels.
      Low cost? Can't beat free.
      Easy to configure? Again, getting better, but still a long way to go.
      Easy to learn? Well, I haven't done any studies on this, but from various "switch" stories, it's at least as easy to learn (if not easier) than windows.
      Security? Pretty dang good, but I'm not going to fool myself. If Linux were as widespread on the desktop as MS Windows, there would be a whole lot more exploits. Not necessarily more than on Windows, but more than there are now.

      --
      Help find a cure for cancer. Join the [H]orde
    5. Re:Neat! by DNS-and-BIND · · Score: 2, Insightful

      Wow...after five huge revisions, and countless years of work, MS has an operating system that doesn't crash (often)! What a great reason to like them.

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    6. Re:Neat! by Gherald · · Score: 3, Insightful

      What is wrong with "ripping off" the GOOD Microsoft ideas? People bash Microsoft for their BAD ideas and bad IMPLEMENTATIONS, not to mention the distinct lack of Openess which is what makes OSS so attractive by comparison.

    7. Re:Neat! by Sique · · Score: 4, Interesting

      Hardware Abstraction Layers are VERY old. Even the 6502 based Commodore computer series (PET, VC20, C64 et. al.) had some kind of HAL, it was called the Kernel ROM, and developers were strongly encouraged to use the I/O-Routines provided by the Kernel ROM instead of writing their own.

      The whole point of the VM/CMS operation system from IBM was hardware abstraction. That's where the name comes from: Virtual Machine CMS. VM/CMS was providing an abstract CMS system (CMS being the predecessor of VM/CMS) for each process or task, so you could use multiple virtual CMS systems on your hardware.

      Just because WinNT uses hardware abstraction doesn't make it an innovative idea from Microsoft.

      Same about KDevelop. Ever used an OSF Motif Toolkit? They are around since the early days of Motif (around 1988), and the Visual series from Microsoft could easily be called an ripoff. Not to forget the Turbo Pascal/Borland Pascal/Delphi IDEs or again IBM with the VisualAge series of compilers.

      The real power of Microsoft is not innovation, it is the sheer manpower and organisation they have to integrate ideas that proved to work into a single, quite coherent system (even though in the beginning, Microsoft's offerings didn't integrate very well into each other... The first MS Office suites for instance had different file dialogs in every program, and different ways to set up the printer... but it got better every version).

      And for becoming "more and more similar to Windows": If the default installation is in a substantial way different than Windows, the whining goes: "Steep learning curve! It's too different!". If the differences are hidden, then the whining is: "It's becoming more and more Windows! Where is the innovation?" It seems as if the GUI developers have to choose between Scylla and Charybdis here.

      --
      .sig: Sique *sigh*
    8. Re:Neat! by sgant · · Score: 2, Interesting

      There's no reason really. I've totally switched to Linux...it's the only OS on my machine. I don't do any dual booting.

      Games I play, have them already on Linux. Though wouldn't mind trying out Half Life 2...

      Everything else I agree with other than configuring...it's easy. At least it was for me.

      Things I miss? So far, nothing. It does everything I ever did on my Windows XP machine...but more. Since I switched I feel I certainly know my machine better. I know the processes it's running at any given time. And of course it feels quicker than XP ever did...but I guess everyone's impression of this will be different.

      But the reason I switched was basically financial. I saved around 80 bucks by not installing Windows...and then I saved of course by using only open source programs. 80 bucks may not seem like a lot, but it's 80 bucks. And perhaps I was thinking it was only a stop gap solution, and if I really hated Linux I could always break down and buy Windows and put it on there...but this has been over a year now.

      --

      "Leo Fender was in a 'state of grace' when he designed the Stratocaster." -- Paul Reed Smith
    9. Re:Neat! by MBCook · · Score: 5, Interesting
      I agree. Windows has gotten MUCH better over the years. But I have noticed one thing that consistantly forces me to reboot my computer: disk activity. I can run my computer for weeks doing normal things and have no problem (XP Pro, 900mhz, 512mb for the record).

      But disk activity kills the machine. It's a laptop, so disk access is a little slow, but if I work with large files (open, close, save, copy, etc) especiallyi zip/rar files (lots of file operations) the system begins to slow to a crawl. Now I understand that the disk activity can slow the computer, but after all the transfers are complete, the computer is still slow. Opening IE goes from near instant (before all that) to seconds of the computer chugging. After that if I close IE and open it again, it still has to chug to open it (so it's not some simple cache thing). The computer is just slow as heck to respond to anything untill I reboot it. At that point it's fine! The same happens after defragging my disk if it's bad (and requires lots of operations to fix it).

      I swear, it's like there is some internal limit in Windows when after a certain number of file operations, the system purposly slows down. Frankly I wouldn't be suprised if a little box popped up saying "You are doing too much heavy disk activity. Please buy Windows Server .Net 2003 for better performance" or something.

      Never happens with Linux on the same machine, so it has to be something Windows is doing. Windows has gotten much MUCH better from the 3.1/95 days, but it still has some problems.

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    10. Re:Neat! by bob65 · · Score: 2, Insightful
      Wow...after five huge revisions, and countless years of work, MS has an operating system that doesn't crash (often)! What a great reason to like them.

      No, it's not a great reason to like them. It's not a reason to like them at all. It *is* a good reason to like Windows XP. You can simultaneously hate Microsoft if you want - that shouldn't affect your evaluation of a particular product.

    11. Re:Neat! by obeythefist · · Score: 2, Insightful

      It's funny what the parallels are like:

      MS gets bashed for ripping off UI elements from Apple, Xerox.
      Gnome/KDE are celebrated for using UI elements ripped off from MS.

      It's amazing, because of course good ideas need to be used wherever possible and applicable, it's the best way to have success. It's also what free open source is about - making good ideas free.

      Either way, this Linux driver from the web system is the most promising development I've seen in a long time for Linux. If it's done right and people put in enough effort to building a driver data base, Linux could easily surpass Windows in many respects for ease of driver handling.

      --
      I am government man, come from the government. The government has sent me. -- G.I.R.
    12. Re:Neat! by cbiltcliffe · · Score: 5, Informative
      1. Cut and Paste don't work
      Always worked fine for me, since about 1998.
      Winboys complain that Linboys say Windows crashes. In 1998, it did. (Incidentally, it still does now. Admittedly, less often, but the only reason you never see it on XP is that it automatically reboots, rather than sitting there with the BSOD.)
      Yet, the Winboys continually complain about problems with Linux that were solved in 2000 or earlier.
      2. Games
      There are plenty of Linux-only games available, and lots of the good ones that use OpenGL, rather than DirectX crap, have Linux ports. If a developer uses a platform-specific 3D API, then refuses to do a Linux port because it would be essentially a complete rewrite to use a platform-independent 3D API, that they could have used in the first place.....it's not Linux's fault. Blame the developer, for being short-sighted and stupid.
      3. Font display is awful
      Again, 1998 problem. Get yourself up to date, and see my answer to number 1.
      4. Aplication installation is awful, poorly integrated with desktop(s)
      KPackage, Synaptic, YaST, and many other package managers will install just about anything on most distros. Sure, there's the odd one that doesn't work, but you run across that with Windows, too. Ever try installing Norton Anti-Virus 2001 on Windows XP? Both released in the same year, but they're incompatible.
      One more thing...if you'd been using Konqueror to post your message, it would have let you know that you spelled 'application' incorrectly. Nice to see IE being so innovative.....NOT!
      5. 86 different text editors... why?
      Notepad, Wordpad, DOSedit, TextPad, Boxer, Zeus, GWD Text Editor, EditPlus.....
      All text editors for Windows. And the first three come bundled - and installed by default - with Windows XP.
      6. Some very important web sites only work with IE
      Like what? Windows Update? I have yet to run across any website that doesn't work with anything other than IE, with the exception of Panda Software's Activescan. Unfortunately, it's ActiveX only. Again, not the fault of Linux, but the fault of a poor programmer who used a platform-specific technology to provide a function that could be provided with a platform-independent technology. Trend's housecall, however, works with Java, so will run on just about anything.
      7. General lack of polish, little (and some big) things inexplicably not working
      Wireless networking randomly popping up and down. Unrecognized hardware being completely ignored and hidden during install, rather than warning the user. Running any old twit as admin by default.
      All examples of lack of polish and foresight in Windows.
      8. Cut and Paste don't work
      9. Font display is awful
      Can't find enough arguments, so you need to repeat yourself? Not only that, but you chose to repeat the arguments that aren't valid, as the problem was solved years ago.

      I know I'm not supposed to respond to trolls, but they're just so fun to shred into tiny little pieces.....
      --
      "City hall" in German is "Rathaus" Kinda explains a few things......
    13. Re:Neat! by Deviate_X · · Score: 2, Informative

      Just because WinNT uses hardware abstraction doesn't make it an innovative idea from Microsoft.

      Recently noted:

      * Linux Support for SMP
      * Linux Adds HAL
      * Linux Implements O(1) Sheduler
      * Linux Now Has Asynchronous I/O
      * Linux Gains Journaling Filesystem

      I mean what next? How about fine grained security model/kernel level ACLs?

      I mean these kind of new innovations make NT 3.5 (1991?) look really good.

    14. Re:Neat! by cbiltcliffe · · Score: 3, Informative

      Ok...Debian stable. That's your problem, right there. Debian stable consists of software that's roughly 2-3 years old, at least. It still uses KDE 2.something, if I remember rightly.


      There's a Debian administration guide available at http://cdrom.gnutemberg.org/manuali/debian/referen ce.pdf, which covers all sorts of stuff like you need to update it. Look at the section titled "Upgrading a distribution", especially section 5.1, which covers how to select which release you want to install.

      As far as recent games for Linux....well, I don't play recent games for Windows, either, so I couldn't really tell you for sure. There is, however, a Doom 3 Linux release either coming very soon, or already available. Google for "Doom 3 for linux", and see for yourself.

      --
      "City hall" in German is "Rathaus" Kinda explains a few things......
    15. Re:Neat! by FuzzyBad-Mofo · · Score: 2, Informative

      Even the 6502 based Commodore computer series (PET, VC20, C64 et. al.) had some kind of HAL, it was called the Kernel ROM, and developers were strongly encouraged to use the I/O-Routines provided by the Kernel ROM instead of writing their own.

      Actually, the Commodore KERNAL was more of an OS than a HAL. (though I suppose parts of it could be considered that way)

      /pedant
    16. Re:Neat! by Veridium · · Score: 2, Interesting

      FYI: Debian stable was released in July of 2002, over 2 years ago. Get your hands on a copy of Suse 9.x and give it a shot. You'll have a better idea of how far and fast we've come in 2 years.

      --
      Think for yourself, destroy your television.
    17. Re:Neat! by Kjella · · Score: 2, Insightful

      Seriously, this is not a troll. I just installed Debian stable about two months ago, because I wanted to see what Bruce Parens was basing UserLinux off of, and these are the thing that I ran into.

      You do realize Debian stable is something similar to RedHat Enterprise Linux, this age-old extremely stable backend-server distribution? It has been frozen for over 2 years, is only updated with security patches and was pretty rock stable already at the time of its release. That makes it maybe 3-4 years behind any common desktop distribution (try mandrake, suse or if you want to stick with debian, debian testing).

      And the above is my list. Sorry if you disagree, but I consider myself a customer of Linux, and this customer wants these issue addressed.

      See above. You are running a distribution where the customers don't want these issues addressed. These issues have been addressed, but they will never make it into the current debian stable. When the next debian stable is released sometime this fall some of this may be addressed, but it will be purely coincidental because debian stable is still directed towards the server.

      Kjella

      --
      Live today, because you never know what tomorrow brings
  2. Misnomer by whiteranger99x · · Score: 2, Insightful

    What gets me is that this would be geared for either for distributions trying to enhance the user's "linux experience" or just to help newbies configure their devices "painlessly".

    Meanwhile, anyone with an ATI card, for example, would still be just as dead in the water as before. Of course, I would be curious to see how well this turns out.

    --
    Join the TWIT army now!
  3. 5 reasons to believe computers are female by storem · · Score: 3, Funny

    1. No one but their creator understands their internal logic.
    2. Even the smallest mistakes are immediately committed to memory.
    3. The native language used to communicate with other computers is incomprehensible to anyone else.
    4. The message "bad command or file name" is about as informative as, "If you don't know what is wrong, then I'm not going to tell you."
    5. As soon as you make a commitment to one, you find yourself spending half your paycheck on accessories for it.
    1. Re:5 reasons to believe computers are female by vranash · · Score: 2, Funny

      Funny.. I always found, as soon as you make a commitment to one, you find one better to invariably spend your paycheck on getting to come home with you ;-p

  4. would be great if i could by jefe7777 · · Score: 2, Insightful

    would be great if i could simply #apt-get install sblive or #apt-cache search wintv not neccessarily wanting apt to do it but just something as easy as apt.

  5. Re:Yeah by owlstead · · Score: 4, Insightful

    What do want to do then? Write assembly in your application to get to a device? Read out loud Hardware - Abstraction - Layer.

  6. Tough to stay with XP by JorDan+Clock · · Score: 5, Insightful

    If getting drivers becomes that easy, I'll be considering atleast dual-booting. Drivers have always been something that have kept me away from Linux, but if they're as easy to find as plugging in a device, I'll switch in no time. Now, if only those manufacturers would put out some decent quality drivers, I wouldn't have much reason to stay on Windows.

    1. Re:Tough to stay with XP by bluewee · · Score: 2, Interesting

      For Linux on the desktop, this is probably going to be a deciding factor. Ov of the greatest features of windows is the ability to plug anything into the system, and have it just work, and thats what I would love to have in Linx. Also if the OSS community focuses on a single method of releasing the drivers, I would assume that this would make Hardware companies, be more apt to releasing their drivers to this system.

      --
      [blue] - The Ministry of Information approved this message...
    2. Re:Tough to stay with XP by MBCook · · Score: 3, Interesting
      I know what you mean. The other day I bought a USB key drive and plugged it into my Windows computer and... it just worked! I can't remember the last time that kind of thing happened. No drivers, no install, no utilities, it just WORKED. Now that was because the driver was already in Windows. Sometimes that happens with other hardware too that Windows already has the driver for.

      But when Windows DOESN'T have the driver, good luck. Windows has (and has had for quite a while) the ability to search for the driver on the internet (it's a choice in the add hardware/change driver dialog), but I've NEVER seen it actually find a driver off the internet. I think it would be FANTASTIC if a user could buy hardware, stick it in the machine, and have that happen. If the kernel has the driver, it works. If it doesn't, it finds it on the internet and gives you the option to download and install it. No web searches, no checking obscure folders on driver CDs, nothing weird. Just plug it in and in a few seconds you're ready to go. That would be awesome.

      Linux could have it, cool. Windows "has" it but I've never seen it work (has anyone else? Maybe it's just the hardware I use, maybe if I used server hardware like SCSI cards that would be in there). With Macs many things "Just work", but can OS X do anything like this?

      A little thing like this will go a long way to make Linux seem more grown up and appealing to the average user (the concept of drivers confuses most computer newbies I help, so automating it would be a big help).

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    3. Re:Tough to stay with XP by Anonymous Coward · · Score: 2, Informative

      It's ALREADY that easy.

      If you're using a kernel built by your distribution, such that it has ALL of the drivers the kernel supports (quite a damn lot), then hotplug, or discover automatically set it up, at boot time, or when you plug it in.

      I've tried things from scanners, to USB microphones, flash drives, whatever. It works no fail, if it's supported by the kernel or an outside module. What's really cool is that you can modify the scripts such that you could have your CF cards automatically downloaded (and erased if desired), the instant you stick it in--for instance. The possibilities are quite endless.

      The only time I've ever had a problem with hotplug is when I have two soundcards (one on board, one PCI), they work quite well independently, except for the life of me I cannot figure how to change their device I.D.s. /dev/dsp is the default sound device for a myriad of programs, and some of them (quake, ET, etc.) can't be changed as fars as I know to use /dev/dsp1 (which is the PCI card, and sounds tons better than the cheap motherboard AC'97 crap.) This wasn't a problem before hotplug, 'cause I could easily resolve this situation by 5 minutes of editing, but I've studied hotplug for longer than I care to, googled till my eyes blead, and still have not found an answer.

    4. Re:Tough to stay with XP by MBCook · · Score: 2, Insightful

      That's true. But for more obscure hardware, finding a driver can be a killer. And as you said, even for common hardware other things (kernel version, stack size, glibc version, phase of the moon) can make things tough. And things are probably much worse if you operate on a non-x86 platform.

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    5. Re:Tough to stay with XP by Anonymous Coward · · Score: 5, Insightful

      Plug famous brand USB storage devices into a Fedora Core or recent Red Hat and it will appear as a user-owned mountable device immediately. No reading system logs. No trying to understand mount flags, it Just Works(TM)

      It would work with the off-brand ones if they only agreed any kind of rhyme or reason to the USB device name strings... and in FC3 it'll probably just work anyway thanks to some extra magic.

      I hear the same complaint with video cards, USB MIDI, you name it. And I'm mystified. I bought a Radeon 9200SE for a home machine, turned it back on, FC2 auto-detected it and everything just worked. Where's the "complicated procedure" and the "hunting for clues on Usenet" ? I plugged the USB headphones from a nearby iMac in, and they appeared immediately as an output option in my Audio player app. No I didn't have to "configure" anything, or "mess around with the command line". When you plug a Playstation 2 keyboard into my USB capable FC2 laptop it just works, as you would expect.

      So put the "Linux will never have working plug and play" complaints in the same category as "Linux will never be easy to install" complaints. Nothing is perfect, but as usual Linux (at least outside roll-your-own distros for the nerds) isn't any worse than any other system.

    6. Re:Tough to stay with XP by HermanAB · · Score: 4, Informative

      Get a Knoppix or LiveCD disc. You'll be amazed at how good Linux driver support is. Chances are that everything you got on your machine will just work, without you having to install anything manually.

      --
      Oh well, what the hell...
  7. Okay... by iamdrscience · · Score: 4, Funny
    to enable Linux desktops download the drivers automatically when the user plugs in her new hardware device
    What? There are girls using Linux now? Why was I not notified of this!
    1. Re:Okay... by iamdrscience · · Score: 2, Insightful

      Yeah, but the MLA is full of shit. Despite the fact that some English language authorities may deem it incorrect, I find that an adequate and far less awkward solution is to say "when the user plugs in their new hardware device".

      I honestly have very little respect for the MLA guidelines. With bibliographies and paper formatting, the specifics of the format is not what's important. What's important is that the information is there. Whether I put a comma, period, semicolon or whatever else between the various elements of my bibliographical citations means nothing as long as the information is there.

    2. Re:Okay... by Anonymous Coward · · Score: 2, Insightful

      I find that an adequate and far less awkward solution is to say "when the user plugs in their new hardware device".

      Is that grammatically correct? Shouldn't it be "when users plug in their new hardware device"?

    3. Re:Okay... by Spy+Hunter · · Score: 3, Interesting
      Technically, it is an error. Practically, it is used all the time in speech and somewhat less often in writing. IMHO it should and will soon become accepted as a part of English grammar. English does change, you know. It makes it so much easier to be politically correct when giving an example, since you don't have to specify gender.

      FYI, here's the American Heritige Dictionary's informative usage note on the word "they":

      Usage Note: The use of the third-person plural pronoun they to refer to a singular noun or pronoun is attested as early as 1300, and many admired writers have used they, them, themselves, and their to refer to singular nouns such as one, a person, an individual, and each. W.M. Thackeray, for example, wrote in Vanity Fair in 1848, "A person can't help their birth," and more recent writers such as George Bernard Shaw and Anne Morrow Lindbergh have also used this construction, in sentences such as "To do a person in means to kill them," and "When you love someone you do not love them all the time." The practice is widespread and can be found in such mainstream publications as the Christian Science Monitor, Discover, and the Washington Post. The usage is so common in speech that it generally passes unnoticed. However, despite the convenience of third-person plural forms as substitutes for generic he and for structurally awkward coordinate forms like his/her, many people avoid using they to refer to a singular antecedent out of respect for the traditional grammatical rule concerning pronoun agreement. Most of the Usage Panelists reject the use of they with singular antecedents. Eighty-two percent find the sentence The typical student in the program takes about six years to complete their course work unacceptable. Thus, the writer who chooses to use they in similar contexts in writing should do so only if assured that the usage will be read as a conscious choice rather than an error. Interestingly, Panel members do seem to distinguish between singular nouns, such as the typical student, and pronouns that are grammatically singular but semantically plural, such as anyone and everyone. Sixty-four percent of panel members accept the sentence No one is willing to work for those wages anymore, are they? in informal speech. See Usage Note at any. See Usage Note at anyone. See Usage Note at he1. See Usage Note at she.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    4. Re:Okay... by jpmkm · · Score: 2, Insightful

      Reverse gender discrimination? How is that different than gender discrimination?

    5. Re:Okay... by OmegaBlac · · Score: 4, Funny
      What? There are girls using Linux now? Why was I not notified of this!
      Probably because you busy reading man pages.
    6. Re:Okay... by UserChrisCanter4 · · Score: 4, Informative

      The MLA is definitely not full of shit. The English language has no official group responsible for changes to the language (in the sense that L'Academie Francaise operates). Many of the rules and placements in the language are actually quite logical, and many of the older rules (the rule against double negatives, for example) are based on mathematical concepts.

      The purpose of grammar is very similar to the purpose of spelling; a common standard allows for the quickest reading and comprehension possible. While your solution is certainly fine for colloquial speech, it has no place in print (epecially the original case, a semi-official form being posted on a website with readership in the millions). Ignoring the obvious jokes about slashdot and spelling/grammar, phrases that use a plural pronoun to refer to a singular antecedent are unnecessarily confusing for non-native speakers.

      As for the citations, I would expect that a /.er would appreciate the fact that a set structure for bibliographis or works cited allows for much easier machine parsing of that information. While this was not the original reason for the rules, it is a very pleasant by-product of them.

  8. A hardware abstraction layer? by ogl_codemonkey · · Score: 5, Insightful

    What, like a kernel?

  9. A scam! by iamdrscience · · Score: 4, Funny
    Hardware Abstraction Layer for Linux simplifying device changes
    Haha! You thought I would be fooled that easily. Hardware Abstraction Layer? You mean HAL? Obviously this project was created by people hoping to expedite the construction of an intelligent machine capable of going awry and killing humans. You sick bastards.
    1. Re:A scam! by eventhorizon5 · · Score: 2, Interesting

      Hehe - but the HAL 9000 in 2001 was an acronym for Heuristic Algorithmic Logic (in case anyone's interested) and used holographic data storage.

      "Obviously this project was created by people hoping to expedite the construction of an intelligent machine capable of going awry and killing humans. You sick bastards."

      Actually to make it more accurate to the book series and also to Windows, you could probably consider HAL the technology that Micro$oft used to make Winblows (mainly from Xerox, Apple, etc). In the 2001 book, HAL suffers from the effects of human lies and deception, which he was supposed to follow and also perform himself. The issue was the existence of TMA-2 by Jupiter (the large monolith) and he was supposed to lie to the crew about the entire issue, which he couldn't accurately do (thus the hysteria). You could tie that into Micro$soft's deliberate lies, manipulation, deception, etc, and show that the software and hardware is going berzerk today because of it ;) hehe.

      --
      #Secret Windows Source Code, in MS C% - if (uptime >= "24 hours") then bsod() else print "Windows License Violation!"
  10. Won't happen anytime soon... by AntiGenX · · Score: 5, Interesting
    As the article points out Linus is vehemently against making the kernel API/ABI's stable. On the one hand this allows them to add knew stuff all the damn time, but it breaks drivers. In my opinion this is what's holding linux back. It contributes to Linux having crappy hardware support. (Yes it has crappy hardware support people!) Sure it supports LOTS of devices, but a lot of them require some voodoo to make them work. That's all fine and well for people like me, but average users don't want to dick around with modprobe.conf. I'm sure a lot of vendors would be more willing to put out their own drivers if they didn't think they'd have retest/recode every kernel release

    For what it's worth, I'm somewhat sympathetic to Linus. Look at what HAL did for/to Windows. Crappy driver/HAL implementations were responsible for a lot of Windows perceived and real stability problems. Now Microsoft likes to certify drivers (WHQL), so they only take the blame for their own damn bugs.

    Basically, it's a double-edged sword. Convenience vs. Stability. Personally, I think if Linus is serious about the desktop there needs to be some compomise. Me, I just dumped Linux on the desktop for my sweet new OS X system. Viva la UNIX!

    1. Re:Won't happen anytime soon... by jhoger · · Score: 4, Insightful

      You missed the real reason for this tactic: to `encourage' hardware manufacturers to play nice and release the source code to their drivers by making open source drivers the path of least resistance.

    2. Re:Won't happen anytime soon... by Anonymous Coward · · Score: 2, Insightful

      A.)The HAL had nothing to do with drivers!
      B.)Drivers are written by hardware makers NOT Microsoft.
      3.) The people who make the drivers now know *how* to write the drivers. They just dont.

    3. Re:Won't happen anytime soon... by SamNmaX · · Score: 3, Insightful
      As the article points out Linus is vehemently against making the kernel API/ABI's stable. On the one hand this allows them to add knew stuff all the damn time, but it breaks drivers. In my opinion this is what's holding linux back. It contributes to Linux having crappy hardware support. (Yes it has crappy hardware support people!) Sure it supports LOTS of devices, but a lot of them require some voodoo to make them work.

      Something like this isn't the only thing holding linux back, but it would be a big help. I find it pretty frustrating that everytime you want to update the kernel, you have to recompile and setup all those non-builtin drivers to get things working again. At the very least, it would be nice if the kernel had at least some minimal guarantees that drivers compiled for one major revision of the kernel (i.e. the 2.4 series or 2.6 series) worked on all minor versions. At the moment, any time there's some little security bug requiring a kernel upgrade, you need to recompile your drivers or else force them to run for a version they weren't compiled for and risk something breaking.

    4. Re:Won't happen anytime soon... by jejones · · Score: 4, Insightful

      You missed the real reason for this tactic: to `encourage' hardware manufacturers to play nice and release the source code to their drivers by making open source drivers the path of least resistance.

      And we all see how well that's worked for many inkjet printers, essentially any graphics card, those Philips webcams that were recently mentioned on /., ad nauseam et infinitum.

    5. Re:Won't happen anytime soon... by DNS-and-BIND · · Score: 2, Informative

      Well, point being that the box will run perfectly well without recompiling. Sure, it's got some extra stuff, but as you say yourself, it's not for efficiency, it's because you like to do it.

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    6. Re:Won't happen anytime soon... by Anonymous Coward · · Score: 2, Insightful

      "Modules are all fine and good, but that still requires a stub for that particular module to be compiled in the kernel"

      No it doesn't. The vast majority of such modules use generic APIs that exist in the kernel anyway. Unless you're removing whole subsystems (e.g. not just one manufacturer's SCSI card, but all SCSI-like devices including USB storage, Firewire storage, etc.) you won't reduce kernel footprint on disk or in RAM.

      What you've done is waste a lot of your time in order to make yourself feel better. I'm not in the least bit interested in stopping you, but don't pretend there's some technical justification for your time wasting in earshot of me, and that includes Slashdot.

    7. Re:Won't happen anytime soon... by Spy+Hunter · · Score: 4, Interesting
      The problem is, Linus is letting his pursuit of one goal (encourage open-source drivers) hurt progress toward another (stable, user-friendly drivers for every single device out there). Changing the kernel APIs all the time does encourage open-source drivers, and it allows easier kernel innovation, but it has many, many disadvantages:
      1. It requires changes in many drivers for every single kernel release, which takes valuable developer time.
      2. It makes drivers less stable and testable due to the constant changes they must undergo.
      3. It discourages driver development outside of the main kernel tree, which in turn...
      4. bloats the main kernel with too many drivers.
      5. Upgrading the kernel requires an upgrade and recompile of every driver you use, or you risk incompatibility or instability.
      6. It is nearly impossible to have a database holding every driver you might need for a desktop Linux system.
      7. Hardware detection and setup software requires constant changes to keep up with drivers and because of this is often unreliable.
      I'm sure I could think of more disadvantages too, given enough time. Given the number and magnitude of these problems, it should be Linus's top priority to find a different way of encouraging open-source drivers, so that these problems can be solved. Changing the APIs willy-nilly can't be the only way to encourage open-source.

      If Linus won't listen to reason, I propose it's time for a kernel fork. Nothing less will solve Linux's driver situation, and it does need solving. Linus himself has already said that the 2.6 kernel isn't "stable" as such, and it's the responsibility of distributions to ensure that their kernels are stable. I propose that the distributions take Linus at his word and cooperate on forking the 2.6 kernel into a "stable" version with a focus on stable, user-friendly drivers and driver installation. Then Linus can remove a ton of irrelevant drivers out of the core kernel and focus on improving the guts for the next major release, while the rest of us enjoy better hardware support.

      If Linus wants his tree to be a permanent development tree, so be it. The core kernel has now improved to the point where it is good enough for 99.9% of users, so further improvements in the development tree are becoming less and less relevant to Linux distribution users. Drivers are what users look forward to improvements in, not the kernel.

      Closed-source drivers are still a concern, but I'm convinced that there are better ways to encourage manufacturers to open their source. Linus's way is not the only way.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    8. Re:Won't happen anytime soon... by don.g · · Score: 4, Interesting

      Show me a modern inkjet printer that needs a kernelspace driver, and I'll show you a very very very surprised me.

      --
      Pretend that something especially witty is here. Thanks.
    9. Re:Won't happen anytime soon... by dmaxwell · · Score: 4, Insightful

      Who will maintain this fork? It will get crustier and crustier and crustier due to the absolute need to NEVER break a binary only driver. Once it gets crusty enough, it won't be possible to backport the changes from Linus' kernel which WILL continue to be developed? Furthermore, this fork will be x86 only. The only real reason this fork will have to exist will be for consumer x86 desktops. This will put off even more devs.

      I seriously doubt that you'll find a group of kernel devs who will willingly inflict that situation on themselves. Remember that leak of Windows 2000 source? At least 15% percent of it turned out be kluges meant to prevent particular applications from breaking. We DON'T need to go there.

    10. Re:Won't happen anytime soon... by Eravnrekaree · · Score: 2, Interesting

      It seems like we see too opposite extremes here, one that there should be no stable ABI and the other that there the ABI should remain the same. However, I think that there is a compromise that can be reached here, while allowing the kernel to change its ABI all it wants, while also giving us a stable ABI. Two ABIs. One built into the kernel, and one implemented in a compatability layer, which would probably be a user space process which may have to emulate some aspects of the kernel. Of course the drivers running on the ABI implemented in the compatability layer will be slower. But hopefully the kernel API and wrapper API will be compatable so the driver can be compiled for either. If the API does have to be chnaged in the kernel, the compatability layer could provide support for the new APIs as well as the old ones, but if there would be a break in compatability drivers which have not been updated for the new API would only be able to run under the compatability layer, obviously this should be avoided.

      At least this would allow people who need the convienience of easy to acquire drivers the ease of use they need but also give the Linux experts the ability to compile their modules to run on the native kernel ABI.

      I haven't seen this idea suggested very much, but I think, it is a good solution to give all sides the features they need.

  11. Re:Wating for this by ozric99 · · Score: 4, Interesting
    Also when will the major heads of the different distros define a single good, method of packaging programs.

    Just as soon as KDE and Gnome merge, and XP gets Final Cut Pro - never gonna happen.. too many egos in the way.

  12. Wrong problem by Anonymous Coward · · Score: 4, Interesting

    It is obvious that I as an corporate user, would refuse to install *anything* on my Linux system that has not gone through my distributor. After all, that's why I pay them. And pushing third-party binary modules in my running kernel would be a very quick way of nullifying their support agreements.

    For the home user, things might well be different. But most people are running a distribution anyway, and would probably feel more comfortable getting drivers from them. That's how they get the security updates, so both the trust and the technical procedure is already in place. So if the distributors are to share the workload of getting these drivers, then a open project may be the right way -- but only for distributing the module source. Not many users would get drivers from here (Gentoo users come to mind).

    The article has an ivory-tower stance to it and I think they solve the wrong problem. First we need to establish what the problem actually is. If the drivers are few and small then all drivers could be included in a typical distribution and updated with the rest of the system. Perhaps all that is needed is for distribution to update their kernel packages more often?

  13. Higher level ABI possible by owlstead · · Score: 2, Interesting

    In the article the ABI was mentioned as the interface of the drivers to the kernel. Maybe it could be possible to create a higher level driver API on top of that? This API could then be ported to newer linux versions?

    Dunno, but as a computer developer I'm having serious trouble setting up my computer for linux. I've seen a few full crashes already, which are probably due to flaky drivers. Not all my devices have been picked up automatically either. Currently my HP deskjet printer is not working, even though it should be supported by the kernel, and is USB, so it should be plug and play.

    The way v4l and scanners are working on linux are great examples, I would like to see higher levels and even user space processes dedicated for this kind of hardware. Let the disk IO, memory etc. be left to the kernel, but try to lift all non-critical drivers to a higher level. A common API for that would look to me as a great idea.

  14. Enough with the Plug 'n Pray jokes by Magila · · Score: 4, Insightful

    As cute as that little pun is, PnP on WinNT 5.x Just Works(TM) the vast majority of the time and life is good. It's one area were Windows has a clear advantage over Linux and it's great to see the gap is finally starting to be closed.

    Though I fear Linus' hardliner stance on ABI compatibility will hinder all this. Idealogical issues aside, from a user's standpoint a stable ABI for drivers is a significant plus for a desktop OS. I can only hope at some point the Linux kernel becomes stable enough for it to be considered.

    1. Re:Enough with the Plug 'n Pray jokes by dmaxwell · · Score: 2, Informative

      Is there a normal Hard Disk installer available for it

      Yep.

  15. Re:Wating for this by GreyPoopon · · Score: 5, Insightful
    too many egos in the way.

    That's only part of the issue. Lots of people don't want a KDE and Gnome merger because of philosophical differences on what a desktop should be like. I do, however, wish that on many forked or duplicated projects people would take just a second to think about who, besides themselves, a fork (or duplication) would actually benefit. When the forked or new version provides no significant new features, it's probably doing more harm than good.

    --

    GreyPoopon
    --
    Why is it I can write insightful comments but can't come up with a clever signature?

  16. Re:HER new hardware device? by Trailwalker · · Score: 3, Interesting

    My wife installs all the new hardware on both our computers. This started when I got her a few gigs of memory, large HDs, better video card, etc. for birthdays, Xmas,etc. Rather than wait for me to have time to install the gadgetry, she RTFMed and took off the side panel and went to work.

    I never have any trouble finding a present for her. BeastlyBuy, CircusCity, and CompUGH are all on the way home from work and allow last minute shopping.

    I in turn have the simple pleasure of working six and seven days a week at a nontechnical job. The General Manager once asked me about a problem with a monitor. I went to the tool cart, returned with a 10lb. sledgehammer, and asked where it was. I have never been asked a computer question since.

  17. Re:Plug N Pray for Linux by Anonymous+Luddite · · Score: 4, Funny


    what I'm scared of:

    >unkown hardware device detected
    >please wait while linux installs drivers for your new hardware


    Is it too late to contribute to the openBSOD project...?

  18. Information by bluewee · · Score: 3, Interesting
    This may be slightly off topic.

    How does a Computer know that when I plug in a USB mouse that the computer knows it is a mouse, and what drivers to use with it?

    It would be interesting to incorporate the drivers onto the pice of hardware. I mean what if insead of including a CD [that these days are filled with crap] with the hardware, that they just put a small flash memory onto the item, and stored the drivers there. Then as new drivers were avalable, the OS would update the flash mem with new drivers as they were avalable. This may raise the cost of the item, but I would rather have a item that I can use anywhere on any machine without having to search for drivers, or cary a cd around with me.

    --
    [blue] - The Ministry of Information approved this message...
    1. Re:Information by Anonymous Coward · · Score: 2, Informative

      > How does a Computer know that when I plug in a USB mouse that the computer knows it is a mouse, and what drivers to use with it?

      There is a standard protocol for every USB mouse in existence (same for keyboards, disks, etc.), so special drivers for each brand are not needed.

      In general, when you plug a device in, it sends its USB ID (32 bit ID number). In Linux, the system looks up this number in its driver database and loads the kernel module that knows how to handle that device ID. It's really that simple. Windows and Mac OS X use a similar system.

    2. Re:Information by globalar · · Score: 2, Informative

      I'm not in development on this, but I have reviewed some of the process.

      USB operates with a host controller on a bus. When a device is connected on a PnP system, the controller detects it and polls it for a VID/PID (Vendor ID/Product ID), which is defined by some USB industry group at a cost (though there are some for non-commercial uses). This is polled along with a host of other descriptors. The USB Core (the sum of a controller driver, hub driver, and other things) controls this process for the PnP system. VID/PID is read from the device and referenced to a driver table, from which a driver can be loaded. Drivers are often organized by class according to function.

      Descriptors, used to define device parameters, are then polled for all devices in the chain and subsequently devices are registered with the USB Core. Descriptors are formatted, so their organization is uniform, and come in several flavors. All are designed to properly integrate the device - mostly what to do and what not to do. The driver resides local to the system.

      Your idea is interesting, but it still requires system setup I believe. If a USB device wishes to act as its own driver, the system needs a way to load an external driver (perhaps through a special type of driver, one which loads and wraps a driver from the device maybe). However this would be accomplished, a standard method of loading the driver needs to be developed and the generic USB driver would need to be built for all systems. Unless of course, such a driver already exists and I am ignorant of it (likely).

      http://www.beyondlogic.org/index.htm#USB is a great USB reference.

    3. Re:Information by mcrbids · · Score: 2, Interesting

      It would be interesting to incorporate the drivers onto the pice of hardware. I mean what if insead of including a CD [that these days are filled with crap] with the hardware, that they just put a small flash memory onto the item, and stored the drivers there.

      That was tried, years ago, and was the norm an all early PCs. It was called BIOS then - a low - level program unique to the hardware kept on the hardware itself. You see remnants of that system still - if you try to put a 200 GB HDD into an old Pentium II you'll find BIOS limitations. If you buy an PCI IDE card, it has its own HDD bios that allow the ancient hardware to support the new HDD. (I have an ancient AMD K6/2 with half a terabyte of storage in it thanks to the BIOS on the IDE controller card)

      The BIOS system could have been scaled up to handle things to this day - however, Microsoft decided that they had to do some funky things to get Windows 3.x to perform decently, and bypassed the BIOS altogether. Thus, we have two layers of hardware compatability - the BIOS level (which is slowly being phased out) and the O/S level (which has all the CD's and download this-ums, and all that)

      How different the world would be if Microsoft had cooperated with the BIOS manufacturers to get a driver system that did what it really should have! Instead, MS did their software driver hack, and by necessity, the world has followed, and here we are in driver hell...

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
  19. Probably no reverse engineering by anti-NAT · · Score: 4, Interesting

    Question for the Kernel coders, what perctage of drivers are reverse engineered?? 60-70%

    The percentage would be near 0% if not 0%. Plenty of hardware manufacturers have released open or open-enough programming specifications for their hardware. Intel, AMD and National Semiconductor are a few examples.

    For example, here are the programming specifications for my network card, a Netgear FA312 - DP83815 10 100 Mb s Integrated PCI Ethernet Media Access Controller and Physical Layer (MacPhyter)

    Companies like NVidia and ATi are the exception, not the rule.

    --
    The Internet's nature is peer to peer - 20050301_cs_profs.pdf
  20. HAL them all by nbert · · Score: 2, Interesting

    I'm actually quite satisfied with the way linux handles devices and their drivers right now (this is stuff for nerds after all).

    But I always wonder why there isn't a huge effort to build an abstract abstraction layer... it could look like this:

    Every piece of hardware is equipped with a standardized storage chip, which contains detailed information about the purpose of the device and instructions on how to "talk" to it. Basically I'm looking for a way to enable any OS to figure out a driver on its own.

    I know that many vendors (like nvidia) would never support such an idea, since they prefer to keep the source of their drivers secret. And I also doubt that it would be easy to write something like this for modern video cards. But something like this would be great for input devices or nics.

  21. Sure by DarkOx · · Score: 3, Insightful

    So, someone creates a stable as in abi/api HAL for linux. Then all sorts of manufaturers start releasing binary only drivers. Hypotheticly these are of good quality and we don't wind up with the windows BSOD type problems, this is very unlikely. We still get lots of binary only drivers with wierd licensing that limits distribution and what you can do with the hardware. Because drivers for stuff are avalible noone have interest in maintaining open drivers. Linux becomes as encombered as windows when you want to do anthing with it besides desktop PC. Forget having a cheep OS with lots of hardware support to build and sell your custom solutions with. Now since the hardware support will still probably be better and more complete on that M$ os all those little embeded things are gonna end up with winCE/pocketPc200X/XPembeded or whatever. This will kill the one market where Linux is begging to become the player to beat rather then the other option. If this takes off linux is gonna end up where it was five years ago on the desks of us geeks, rather then were it is now on half of the little and BIG network appliences out there even if it is unknow to the user. Once that happens we will lose lots of the corporte support and contributes to the kernel as well. Linus made the right call to not stabilize the ABI and force vendors to either make open drivers or at least have to put up with a wrapper.

    --
    Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    1. Re:Sure by ctr2sprt · · Score: 3, Insightful
      Remember that freedom means giving the people right to make bad decisions if that's what they want to do. Freedom of speech means I can stand up in a public place and make a complete ass of myself and nobody will stop me. (Well, the government won't, anyway.) Free (as in speech) software means that you have to give people the right to make bad choices about how software should be written, designed, and used. While we certainly all hope that stuff like the Linux kernel will encourage more free software and drivers, we have to respect the rights of others to decide differently. To do otherwise is to take away their freedom, and that's contrary to the entire goal of free software.

      Just as with free speech, you can't force your ideas on others by restricting their abilities to express their own ideas. You have to trust that, given time, other people will recognize that your way is best and adopt it voluntarily. It's the same way with free software. Yes, a HAL will make the jobs of binary driver authors easier, just as it will for open soruce driver authors. And we'll certainly see more binary-only drivers as a result. But we have to trust that the wisdom of our model will become apparent to others and that, eventually, it will become the dominant model for software development (and distribution).

      This is by far the hardest lesson to learn about freedom. It goes against instinct, and morality, to just sit back and watch people make mistakes. We want to help them, which means control them and their decisions, but in doing so we actually hurt them (and ourselves). It sucks, but we just need to have faith and demonstrate our principles through our deeds.

  22. Try adding crappy 3rd party software to linux by rsilvergun · · Score: 3, Insightful

    and see how stable it is. Much as I hate Microsoft (and I do), Windows XP is a stable operating system when it's running good quality, name brand software/hardware. At least the desktop is, no comment on server stuff. Where you run into problems is all the crappy 3rd party drivers and add ins that run in the background and make tons of changes to they system. If you start adding that stuff to Linux you'll have the same problems. On the other hand, Linux's openness makes adding this crap harder, and often unecessary...

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:Try adding crappy 3rd party software to linux by mrgreen4242 · · Score: 2, Insightful

      By definition, isn't all Linux software (aside from the a few things) third party? I mean, it's not like IBM and Novell are coding every application you use on a Linux desktop...

    2. Re:Try adding crappy 3rd party software to linux by Anonymous Coward · · Score: 4, Insightful

      LOL!!

      Uptime of WindowsXP box at university when I start using it is less than 7 minutes. I'm not kidding you.

      simple things like looking up my schedule tend to crash IE
      to the point where system locks up. Opening PDFs leads to similar result.

      These are all dell p4 2.4ghz boxes. we have more than 500 of them. I can reproduce effects on any single box.

      Then there are some boxes which dual boot to linux. Never had a single problem. Not a single crash or hang.

      And don't get me starting about scanning on windows with HP printers.
      Scan->wait 8 seconds for pretty HP scan wizard to show up then it hides then scanner starts scanning, then you save the file one by one. On linux: start xsane (UI is ugly but does the job nicely). Specify base name and counter length. Then just keep clicking 'Scan' and feeding a new page.

      Also users need to do control+C control+V windows instead of select and pressing scroll mouse in most linux GUIs.

      No Virtual desktops on windows.

      List goes on and on.

      I honestly don't know of a better way to constupate your work then to use a Windows enabled desktop. Your productivity approaches 0.

      So those who say Linux is difficult to use should just fuck off. They have spent years and years learning how to do things in Windows and LEARNING the WORKAROUNDS to things that should have worked and then complain that the workarounds don't work and you have to do things propertly.

      ok, rant is over.
      ~omi

  23. From the article ... by MuMart · · Score: 4, Funny
    The kernel is possibly the most critical component in a Linux system.
    Well, I guess it wouldn't be called a Linux system without one :)
  24. Could distros do this anyway? by crazy+blade · · Score: 2, Insightful

    Already development is taking place in the 2.6 branch rather than a 2.7 one, as used to be the case. It is now up to the distros - as far as I've understood - to provide a stable kernel and update it with selected patches.

    Couldn't a distro create and maintain a stable ABI for the kernel line it distributes? I'm assuming if one of the major distros does it, others will follow suit and will create a de-facto standard if lots of drivers spring up for it (perhaps with backing from major hardware vendors).

    Would such a move significantly limit the applicability of patches with future work from the developers, to the ABI-stable version? My simplistic thinking is that the distro would leave out anything that breaks the ABI spanning a reasonable time-frame (e.g. 2 years). Only when something really cool happens, it would introduce a new "stable" ABI including any blocked functionality. This would suck if often cool new stuff can only be added by breaking the ABI and thus the distro gets left behind.

    Could someone with the necessary technical knowledge enlighten us regarding the feasibility of such a thing? Is the ABI so constantly morphing?

    --
    To err is human, but to forgive is beyond the scope of the Operating System...
    1. Re:Could distros do this anyway? by The+Vulture · · Score: 5, Informative
      Maintaining a stable ABI is pretty darned difficult without proper planning. Typically two of the things that pose difficulty are function calls (the API), and the internal data structures (new variables added or removed, which breaks binary compatibility).

      Say you have a function, foo, and it takes three integer arguments. So, here's your theoretical function:
      int foo (int a, int b, int c)
      {
      int d = 42;
      ... rest of foo...
      }
      Now, say all of a sudden, you decide that the variable d in foo should be passed in (maybe d being 42 is correct for all but one variant of hardware device). At this point, you have two options:
      1. Update function foo to include support for parameter d:
      int foo (int a, int b, int c, int d)
      {
      ...code of foo...
      }
      This breaks the binary compatibility (well, and source for that matter). Probably you'd see segmentation faults/invalid memory accesses, etc.

      2. Create a new function (say, foo2) that includes support for d, and maintains backwards compatibility:
      int foo2 (int a, int b, int c, int d)
      {
      ... code from function foo...
      }
      Then, update foo as such:
      int foo (int a, int b, int c)
      {
      foo2(a, b, c, 42)
      }
      Existing drivers don't see that foo has changed, and new drivers needing the extra parameter can use foo2. Binary (and source) compatibility is retained, but it becomes a major pain in the butt for the developers. Imagine several of these changes happening, and you (possibly) end up with foo2 through foo15.

      Quite frankly, I can see why Linus doesn't want to do it, for both technical and the ideals behind it. Personally, I believe it's the ideals that he favors, rather than the technical side of it. That said, on the x86, maintaining this might not be so bad, but maybe on other platforms it is more difficult. Back when software was typically written in assembly (my favorite example that comes to mind is GEOS on the Commodore 64, it had a huge API, which retained backwards compatibility with older versions), not only did you have to make sure that the parameters passed in were the same (usually on the stack, or registers, or inline), but you also had to make sure that the entry-point addresses stayed the same too (most often accomplished via a jump table).

      -- Joe
  25. Re:Yeah by superpulpsicle · · Score: 2, Informative

    I don't know why people are marking the original poster flamebait. Even I am skeptical of drivers on demand. Last time I installed linux with a HBA with storage area network, it was the most work I have ever seen.

    1.) Download the driver
    2.) rpmbuild kernel source
    3.) update kernel to new kernel rpm to be compatible with driver
    4.) compile the .o using the source
    5.) insert .o as a module
    6.) modify lilo / grub
    7.) reboot and pray

    Now I don't know about you, but Hardware Abstraction layers probably work for some video game control pad driver. Unfortunately any real device needs serious attention in linux land.

  26. Re:write your own by Tony+Hoyle · · Score: 4, Insightful

    So? You're asking people who are doing things *in their spare time* to give you a deadline for fixing something that may be needed by exactly one person (you).

    If you want help feel free ask what the current state of the driver is, but don't expect anyone to do anything about it unless you're prepared to help, or give them money.

    btw. MS are exactly the same. Try asking them when 'feature x' will work. They'll want money before you'll get a sensible answer about it (in that case you don't even have the option of doing it yourself).

  27. Nice by vandan · · Score: 2, Insightful

    I was actually just thinking about this sort of thing the other day ... with a Gentoo slant of course.

    I'd just set up hotplug, which I'm now using for a number of reasons, my Alcatel USB ADSL modem, Canon Digital Camera, USB MP3 player, etc. It dawned on me that these devices are supposed to have unique identifer codes, and that it would be great if *someone* would keep a centralised database of codes against software / config changes. Then I thought a device being added could trigger an 'emerge' process on my Gentoo box and an 'etc-update' to merge in the config file changes.

    Of course there are a lot of missing pieces in my ideas. But anyway, I agree with the general idea. Good on 'em!

  28. Re:Yeah by NanoGator · · Score: 3, Insightful

    "Hardware Abstraction Layer cos we all know how well that worked in Windows NT "

    Yeah, all my hardware works.

    --
    "Derp de derp."
  29. Re:Yeah by Anonymous Coward · · Score: 2, Insightful

    what I'm waiting for is linux programs to include all the headers and such that they need to install. Package developers need to do more like Gentoo so all required files for any given program are downloaded automatically or included with the program... until then Linux will never make it main stream onto desktops.

    Take the average windows person. If they install a program, and that program says "This requires this other 'program' to run, and also needs these .DLL's"... don't you think that user is going to be a bit stumped, then become angery because they have to hunt on the internet for stuff they have absolutely NO CLUE about??

  30. Good idea. by Gentlewhisper · · Score: 3, Interesting

    I think this would be great.

    Once I had the experience of trying to install Linux on my Dad's machine, and Linux was up and running, and all that was left is to get the computer online using the USB wireless dongle.

    But when I googled around looking for drivers, apparently that dongle has 3 revisions, each with totally different drivers. Still, I wasn't discouraged and try then all in turn!

    But somehow it doesn't work!

    Then I found a thread in a forum somewhere which says I have to look at the stuff that is displayed during bootup, copy down something, and type a command. I did that, still doesn't work.

    Then I did the same for each of the other 2 drivers in turn, ditto.

    End up, defeated, I reinstalled Windoze on that machine. That so sucks man. Cos months later I got a phone call from my folks asking me how to get rid of those pr0n popups and stuff.

    If only those drivers worked back then.

    Currently it is really quite a challenge getting some bits of hardware to work right on linux. In fact, it is not currently, it has always been an issue. Once this is improved, I don't see why Linux won't fly.

    2005 is the year of Linux on the desktop (and if John Titor is right, the end of US of A as we know it)

    1. Re:Good idea. by damiam · · Score: 2
      That so sucks man. Cos months later I got a phone call from my folks asking me how to get rid of those pr0n popups and stuff.

      What does that have to do with Linux? Firefox runs under Windows too.

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
    2. Re:Good idea. by gad_zuki! · · Score: 2, Insightful

      Why are you changing their OS?

      >. Cos months later I got a phone call from my folks asking me how to get rid of those pr0n popups and stuff

      They could be using FireFox. Or IE with activeX disabled and a pop-up blocker. Or IE with simply SP2 installed. Or Opera. Automatic updates turned on. And a copy of ad aware or spybot.

      You might as well teach them about spyware and untrustworthy downloads. Regardless of their platform they will have to deal with it. If desktop Linux took off next year there would be all sorts of spyware for it. XPI apps. "Buddy" apps. All running in userland.

      Best to teach them smart internet skills than just throwing them a new OS.

  31. Re:Yeah by zurab · · Score: 2

    Run hardware drivers in userspace with binary compability to major kernel (or abstraction layer) versions. This will allow manufacturers to make binary-only drivers with no GPL restrictions that will not crash the kernel and the OS even if they are full of bugs.

    Do this before Longhorn comes out. If I had enough knowledge I'd do it myself.

  32. Linus' policy on the kernel ABI by brsmith4 · · Score: 2, Interesting

    Easy solution:

    fork();

    Why?

    As much as I like and respect Linus and his decisions, it seems the kernel has become an "entity" of sorts. Times are changing and certain problems will arise when one uses time-honored policies instead of progressive thinking (not to say Linus is not a progressive thinker, on the contrary...)

    A fork, based on a recent stable release, that is kept current by applying patches and fixes while preserving the existing driver ABI. Redhat does this when it back-ports features from newer kernels into its production kernels. Basically, let Linus and co. write the bleeding-edge kernels while said fork makes catastrophic changes to the driver ABI every two years or so instead of every three weeks.

    I may be wrong in my thinking, but a fork wouldn't hurt anything in my opinion. This wouldn't be a fork due to policy decisions e.g. FreeBSD + OpenBSD or XFree86 + Xorg, but a fork of necessity to provide hardware manufacturers a stable interface for supporting linux, therefore allowing them to focus more on improving their drivers' performance than on keeping up with each kernel release. Then, they can release binary drivers and rest assured that they will work for some period of time.

    Just my $0.02

  33. Linus' Attitude is detrimental by nurb432 · · Score: 3, Insightful

    While this is a bit off topic, its relevant.

    Don't misunderstand me, as I have the up most respect for the guy, but after reading some of his comments about vendors approaching him about drivers, and his refusal to even discuss a HAL layer ( which IS the right way to, even if he doesnt want to deal with it ), I can see that the arrogance of the Linux community is starting to rub off. ( actually, if the article is correct, it may have actually reduced my respect for him as he's acting more like a child.. ).

    Yes its his kernel and he can do with what he pleases, I understand this. But I also understand he would like it to continue to succeed, and being an ass wont advance that cause a bit. Look where it gets Theo..

    I do expect to be modded down for this of course, but I see the 'attitude' as the #2 problem with Linux in general. ( #1 being the convoluted un-structured nature in general, which effects things in a detrimental way a lot more then many want to admit. ).

    Until people get off their high horse and start acting professional instead of condescending, things here will have just about topped out, and the market share will be stagnant.

    --
    ---- Booth was a patriot ----
    1. Re:Linus' Attitude is detrimental by Pecisk · · Score: 2, Insightful

      Linus attitude is VERY simple - if companies want a driver API, then they should go, create it AND maitain it. He is not against, he is against waste of time of other developers on this question. He simply doesn't want to mess with that, period. And guess what - you can stop this rant and go with simple patch set which could create such driver API. After all, it's open source and GPL!

      So why companies, or at least someone don't try to do that? I will tell you why - because there is no easy solution for that, that solution whould require years (at least two) for coding and maitaining it could be not a walk in afternoon after that.

      Driver framework always is a big problem. And as binary only drivers are in BIG minority here, they should do something about it. Biggest part of people lives very well with open source drivers.

      --
      user@ubuntubox:~$ stfu This server is going down for shutdown NOW!
  34. Re:So while blasting Windows by auzy · · Score: 4, Informative

    Its not borrowing ideas at all... Alot of things MS does are just simple steps, but the trick is they generally implement them in the poor and easy way, instead of the proper way. The truth is that Linux has had the equivilent of Microsofts Plug and play system for a very long time. All their system is, is a bunch of modules, we do exactly the same thing, the difference is that since people dont notice it because distro's have most fo the drivers included, so you dont notice them existing.

    Also, Microsoft charges for getting drivers digitally signed to get on their database, and I severely doubt many are of decent quality (I know the nvidia ones they have are useless). Its easy to code somethign when you charge for addition to the database, because its just like any other database.. But to do full, dynamic driver management where you can get drivers that dont even exist on your system, thats what MS is NOT able to do. In fact, because they put poor drivers in their database, I'd say you get driver upgrade warnings which wipe out your already working drivers and replace them with poor copies.. Evidence of poor design.

    Either way. I dont believe either HAL or Driver on demand is really a clone, but then again, I am the author of Driver on Demand, and I'm biased. The focus in recent times for driver on demand has been to create a driver search engine anyway first.

  35. What about applications? by grotgrot · · Score: 2, Interesting

    What is needed is telling me what applications I could use with the devices. Many Linux applications use libusb and don't need a driver (in fact you can't use libusb against an interface that a driver has claimed).

    So if I plug in a cell phone, I should be told about BitPim for CDMA phones, and whatever is used for GSM phones. Whatever the scanner app is should appear for scanners. Epson printers should cause me to be told about mtink etc.

    And all this can be done outside the kernel.

  36. Good howto by xedx · · Score: 2, Informative

    Although gentoo specific you still get the gist to get this to work on other distros.
    http://forums.gentoo.org/viewtopic.php?t=217412/

  37. Re:Yeah by TheRealMindChild · · Score: 2, Interesting

    I suggest you look up "Context Switching", then get back with me what a good idea user space drivers would be.

    GDI used to be in user space (WIndows if you are oblivious), but it was moved to kernel space because thats where that stuff belongs.

    --

    "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
  38. Re:Yeah by Enahs · · Score: 4, Interesting

    Hell, I had trouble with a Lexar JumpDrive (a USB solid-state storage device) today on Windows XP. Had the thing in my pocket, at my parents' house, and they wanted me to touch up a photo but seemed reluctant for me to take the original. OK, no problem. So I sat down at their computer, fired up their image-editing software, and set the scanner to scan at 1200dpi, grayscale. Then:

    1. I plugged in the Lexar JumpDrive.
    2. I went to My Computer, and was delighted to learn that the JumpDrive hadn't been detected.
    3. Unplugged the Lexar JumpDrive.
    4. Went into the Control Panel and Device Profiles, only to find that some sort of obscure-sounding USB device was misconfigured. Since they have a largely from-the-factory-setup Dell, I thought that had to be my hardware. Let Windows search for the drivers; it failed.
    5. Plugged in the Lexar JumpDrive.
    6. Unplugged the Lexar JumpDrive.
    7. Plugged in the Lexar JumpDrive.
    8. Restarted the XP machine, because my parents said they'd had the machine "acting squirly for a while."
    9. Waited for restart, opened My Computer.
    10. Unplugged the Lexar JumpDrive.
    11. Went to the Lexar website looking for 3rd-party drivers. None available or needed.
    12. Plugged in the Lexar JumpDrive.
    13. Went to the Dell website. Waited for an eternity for the site to load.
    14. Unplugged the Lexar JumpDrive to get a specific model number, and typed it into a Search box.
    15. Plugged in the Lexar JumpDrive.
    16. Raise an eyebrow since the device was autodetected and properly configured without human intervention.

    Contrast this with my experience with a relatively user-unfriendly Linux install:

    1. Plug in the Lexar JumpDrive.
    2. Do some command-line magick to find that it's set up as /dev/sda1.
    3. Edit /etc/fstab.
    4. Set up a KDE device icon.
    5. Click on the icon. Note: from now on, clicking on the icon mounts the device and opens a Konqueror window, while right-clicking gives me an unmount option.

    Or, on Mac OS X:

    1. Plug in the Lexar JumpDrive.

    --
    Stating on Slashdot that I like cheese since 1997.
  39. Seems like a solution at the wrong place by pspinler · · Score: 4, Interesting

    The real problem isn't the kernels and the device support therein, rather, its the devices. Really, how many different ways do you need to send data to a printer, or a disk, or get images off a digital camera or webcam, or sound to and from a soundcard, or a 3d command pipeline to a vid card ? The plethora of different device interfaces for substantially identical devices is the real problem.

    Instead, I think there should be a (small set of) _device_ standards.

    That is, something like a architecture standard: a standard category of devices which the manufacturers will agree to provide standard interfaces for

    Combine that with a standard, architecture independent way of allowing devices to carry their own drivers. Perhaps something like a fast Forth like bytecode interpreter.

    Maybe not the best approach, but a lot better than what we have now.

    -- Pat

    --
    The biggest problem with communication is the illusion that it has occurred
    1. Re:Seems like a solution at the wrong place by pe1chl · · Score: 2, Informative

      There already are such standards. Why do you think we can run Linux on a PC at all? Because most things are always the same.
      This is caused by the fact that PC manufacturers today still maintain compatability with the IBM PC of 1980. The DOS from that PC will still run on today's systems.

      Look at USB too. There are some generic device types and they usually just work. More often on Linux even than on Windows.

      System-independent BIOS chips on boards also exist.

      In all, a lot has been done, but there always remain devices that don't fall into these categories and for which there are no drivers. They especially exist in the low-end segment, where the driver tends to provide more of the device functionality (to reduce cost in the device itself) so reverse-engineering is much more difficult, and the manufacturer is not interested in Linux investments.

  40. My random guess: Swap file increase by WoTG · · Score: 2, Interesting

    Do you get that little pop up about "not enough virtual memory, increasing swap file size" or something to that effect? Once you're past the minimum virtual memory size, Windows does something to increase the swap file size.

    I haven't properly tested or researched this, so YMMV, but several times now, that process has slowed my PC to a crawl - during AND after the increase.

    Though, that shouldn't have anything to do with a disk defrag...

  41. If you don't like the answers, by anti-NAT · · Score: 3, Insightful

    then exercise your freedom of choice, and stop using Linux.

    --
    The Internet's nature is peer to peer - 20050301_cs_profs.pdf
  42. Protected libraries by mrogers · · Score: 5, Interesting
    What's needed is a hybrid between a library and a process - call it a protected library. It has its own privileges and its own data segment, like a process, but it doesn't have any threads: it exports an API and uses the caller's timeslice and stack segment, like a library.

    You could, for example, have a graphics library that was setuid root, to allow non-root users to access the graphics hardware through a rectricted API.

    This gives you the advantages of a shared library (no context switching, driver is distributed and managed separately from the kernel) without the disadvantages (processes must run as root because the library requires root privileges to access the hardware). There's only one disadvantage that I can think of: all arguments must be passed on the stack because the caller and the protected library have different data segments. If the protected library can be given access to the caller's data segment as well as its own, that problem disappears - the 386 supports six segments so that should be possible in principle. But passing arguments on the stack might be a better solution because it would allow arbitrary nesting of protected libraries.

  43. Re:Yeah by It'sYerMam · · Score: 2, Informative

    I guess you never heard about yum. Or apt. Or urpmi...
    This package dep sorting out thing is not xxx distro specific - you can get it on many many distros. Sure, some don't, but gentoo, debian, redhat/fedora, SuSE and mandrake do.

    --
    im in ur .sig, writin ur memes.
  44. Re:Binary only by julesh · · Score: 2, Informative

    Can there be binary only drivers or will the GPL interfere?

    There can be binary only drivers with no GPL problems. The steps you must take to perform this:

    1. Publish an API which is independent of any Linux kernel internals (and is therefore not a derivitive of the kernel and can freely be released under a non GPL license)

    2. Make a GPL implementation of it and integrate it into the kernel

    3. Make a non-GPL implementation of it. It doesn't need to be fully functional, but while we're at it, it might be useful to have a user space test harness for driver development. This can be BSD (or equivalent) licensed.

    4. Write binary drivers.

    5. ???

    6. Profit

  45. Re:Yeah by Conor+Turton · · Score: 2, Informative
    TROLL

    8. Restarted the XP machine, because my parents said they'd had the machine "acting squirly for a while."

    Couldn't have possibly been because there was a problem on the machine in the first place...especially as you mentioned a USB configurations problem.

    --
    Conor "You're not married,you haven't got a girlfriend and you've never seen Star Trek? Good Lord!" - Patrick Stewart
  46. Segfault... by Conor+Turton · · Score: 2
    Wow...after five huge revisions, and countless years of work, MS has an operating system that doesn't crash (often)!

    Segfault anyone?

    Wow...after countless revisions and a decade of work , programs and drivers are still a nightmare to install on Linux. Dependency this, dependency that, oops wrong GCC version and of course "Oh shit I updated the kernel so I have to recompile my graphics card drivers again."

    Can't remember the last time I had to do anymore than a single mouseclick to start installing a program or drivers in Windows.

    --
    Conor "You're not married,you haven't got a girlfriend and you've never seen Star Trek? Good Lord!" - Patrick Stewart
  47. Drivers NOT Desktops are the main problem of Linux by maxm · · Score: 3, Interesting

    I have installed Linux several times over the last few years, on practically all of my hardware configurations.

    But none of the times has it been plug'n play. Often drivers that worked in one version didn't work on the next. So after the having a system where the graphics worked, It wouldn't on the next, because that driver had been left out. But now the sound would work. And so on.

    I don't remember ever having a painless installation. Untill I do, I won't bother with Linux as my workstation. It will keep running on a simple server with old and safe hardware where the drivers will allways work.

    Windows is more than stable enough for my desktop, and I can easily earn the price of XP Pro in the time I save not fiddling with drivers.

    The quality of the desktop really isn't the main problem for my Linux usage. I don't find it worse, just different. But using too much time installing the OS is a problem.

    I don't do it as a hobby. The OS is a tool, and so has to be efficient.

    --
    Max M - IT's Mad Science
  48. Mod Parent up - he makes a good point... by Gilesx · · Score: 2, Interesting

    First thing I did when I saw this article was shudder. Why? The majority of problems I've ever had with XP have been with the shoddy implementation of a Hardware Abstraction Layer, and the associated problems that an 'all your eggs in one basket' approach can bring you. You can see for yourself: Just Google for 'Missing Hal.DLL' and you'll see just how easy it is for this file to be corrupted / disappear etc etc.

    I don't think the above post deserved to be flamebait - he made a valid point, just somewhat uneloquently.

    --
    Sunday you're Thinking Different, Monday you're a huge tool, paying too much and waiting to think like everyone else.
  49. Re:Yeah by chez69 · · Score: 2, Insightful

    And for balance, contrast it with the way it works on a properly-maintained linux machine:

    1. Plug in USB mass storage device.

    it works.

    --
    PHP is the solution of choice for relaying mysql errors to web users.