
"In order to broaden Linux hardware support and simplify the process of acquiring, installing, and updating device drivers, Novell has
created a new driver system that will enable vendors to supply drivers to users directly. Linux drivers are traditionally maintained in the kernel itself, and third-party drivers that aren't available in the kernel often have to be installed manually, a process that generally involves compilation. In many cases, users have to wait for the next kernel release cycle before they can get software support for the latest hardware. Novell's new Partner Linux Driver Process could
potentially resolve some of those problems by providing a simple and consistent process for deploying drivers independently."
Member since:
2005-07-18
So here's a personal example of how an OSS driver > binary.
Next to me sits a Canon LBP-660 laser printer. The thing is old, almost ancient, tagged with a "Designed for Windows 95" sticker, but it still works fine. The latest drivers available from Canon are for Windows 2000 and, by chance, they work in XP too.
Now what am I to do if I want to run a 64bit Windows? What am I to do if I want to upgrade to Vista? How about if I want to run Linux? Or switch to a Mac? Throw a perfectly good printer away???
The printer has one bad design issue: if the data stream from the driver is interrupted for even one full second because of a heavy CPU load, the printout is doomed. With Canon's driver this meant making sure all other processes were idle while printing. This was a major headache when the printer was networked.
About a year ago someone finally reverse-engineered a decent Linux driver for the printer. Because of the printer's design, this driver exhibited the same behaviour under heavy loads.
This time, however, since the driver was open source, I could easily go into the source and insert a call to setpriority(). Now I've had almost zero print jobs halt because of heavy loads since the driver has a -19 nice value. This simple modification would have taken a hex editor and (with my skills) quite a few evenings of hacking to do with a binary driver.