Novell Delivers Device Driver Breakthrough 241
An anonymous reader writes "Novell today announced a new Linux device driver process to make it easier for third party device driver writers to integrate their drivers with SUSE Linux." From the article: "The new driver process allows customers to obtain drivers independently of Novell® kernel updates and supplies a straightforward approach third parties can use when developing device drivers for Novell's SUSE® Linux Enterprise products. The new Linux driver process developed by Novell allows hardware and software vendors to provide Linux drivers and driver updates for their products to customers directly and transparently, in a way that is completely integrated with SUSE Linux Enterprise delivery and support."
Marketing blurb (Score:2, Insightful)
oups! (Score:5, Informative)
Novell invents email? (Score:3, Interesting)
Sorry, but I'm not seeing the "breakthrough" here.
Re:Marketing blurb (Score:4, Insightful)
Indeed. They keep using the word "process" and I keep thinking "Microkernel!"
In reality, it sounds like a simple driver abstraction layer which will allow commercial entities to plug in binary drivers without any fear of the GPL.
Re:Marketing blurb (Score:5, Insightful)
Well I hope it is! The last thing we need is a whole bunch of obscure binary blobs running in kernel mode!
Re:Marketing blurb (Score:4, Interesting)
Looks like an update to YaST. (Score:3, Funny)
So, the ISV builds a package for their module and sets the dependencies and YaST allows you to update the module/kernel without breaking the dependencies.
Not much of an accomplishment at all (if that is all there is to it). Which would explain why they resorted to so much marketing crap in their announcement.
Re:Marketing blurb (Score:2)
Well, in a way you can.
Let's say that I create a 'plug-in' interface. I create the header files, and the documentation, and the source to let people write plug-ins for using my interface. I post that, all under the BSD license. People can now write plug-ins for my interface.
Plug-in to what?
A few days later, I plug-in my plug-in-interface to the linux kernel. I write all the plumbing code to allow someone to e
Re:Marketing blurb (Score:2)
Not exactly what I would call a break through.
Re:Marketing blurb (Score:5, Informative)
So basically they are setting up a method for vendors to submit driver updates through them, then distributing them with YaST if the versions dont match.
Again, not seeing the breakthrough...
Re:Marketing blurb (Score:5, Insightful)
Re:Marketing blurb (Score:2, Interesting)
Regards,
Steve
Re:Marketing blurb (Score:5, Informative)
Re:Marketing blurb (Score:2)
If vendors provided DKMS compatible packages the system will automatically rebuild the module when a newer version of the kernel is installed/booted. Then YUM, APT or YAST could be used to push out updates of the module source.
No need for Suse Linux (Score:5, Funny)
Re:No need for Suse Linux (Score:2)
Re:No need for competition... (Score:3, Informative)
Almost nothing you just mentioned is under the gpl. The only thing that is free is XGL, and that semi-entails that you have a non-gpl video driver.
Re:Completelyoff-topic but (Score:2)
When my copy of Windows fails... (Score:5, Insightful)
I know there will be replies about how the architechure of Linux protects us from some of the risk, but in reality 3rd parties will circumvent any device driver model in an effort to make their device perform optmally, even at the expense of the wider platform.
Re:When my copy of Windows fails... (Score:3, Insightful)
When Linux simply doesn't want to work with a device that's missing device support in the kernel. Which is better? You can opt not to install a bad driver, but if you can't have a driver, your don't have the option in the first place.
Re: (Score:2)
Re:When my copy of Windows fails... (Score:2)
emerge nvidia-kernel
installs the latest driver, automatically, by recompilng the open source glue. it isn't done automatically after kernel upgrades though, unfortunately.
Re:When my copy of Windows fails... (Score:2)
Re:When my copy of Windows fails... (Score:2)
I disabled [slashdot.org] sigs three years ago, then turned them on just now to see what he was on about. Looks like I havent missed much.
Re:When my copy of Windows fails... (Score:2)
You're comparing phone sex link with a link to an open non-profit script
Re:When my copy of Windows fails... (Score:2, Flamebait)
That the Microkernel's what cannot help?
Re:When my copy of Windows fails... (Score:2)
Re:When my copy of Windows fails... (Score:2)
Something is breaking, that's for sure (Score:5, Informative)
Re:Something is breaking, that's for sure (Score:2)
Re:Something is breaking, that's for sure (Score:2)
Not necessarily. For example, if a vendor publishes source code for a driver, it takes months for that driver to appear in the next stable kernel, and likewise months until the next SLES or RHEL quarterly update. Novell's process allows the vendors to ship drivers whenever they are ready, without waiting for anyone else. But as I said, the cost is that the vendors have to do a lot of work.
Re:Something is breaking, that's for sure (Score:2)
Credit to Novell (Score:2)
Re:Something is breaking, that's for sure (Score:2)
If you do want to hack your driver source and compile it yourself, then nothing is stopping you from doing it for open source drivers.
Re:Something is breaking, that's for sure (Score:4, Insightful)
Before this, there was almost no hope at all to get a working driver installed in less than 4 hours.
Wrong. There are many options to getting a driver in less than 4 hours. I did it just this morning (dropped the rt2500 driver back to the pre-smp ebuild). Time? Including compile, less than 5 minutes. I even restarted the network interface without dropping any existing ssh connections.
For all the people out there that are about to go on about apt-get or some stupid distro, here [sic] this: give it up.
See, a distro is a kind of linux operating system thingie, and a apt-get is a package management system thingie. Google is your friend, try looking up concepts once in a while.
Your "points":
We need to get a truly working pluggable driver model.
The content of your post clearly presents the fact that you are not part of the "we" here.
We need to have a registry to track applications, and their installation paths, and installation parameters. (This will help with the install, uninstall, and dependency headaches)
Linux needs no registry. Refer to
We need a unified configuration system and configuration user interface.
There are several: xterm + vi, aterm + emacs, konsole + nano, the combinations are nearly endless!
We need a great GUI development IDE
Again, several. The one that rocks the most IMO is KDevelop for GUI stuff. Emacs works for everything else.
We need to not release products with 200 dependencies that change every 4 weeks
Reference? Oh, wait, no, that sounds like hyperbole.
The only thing Linux has over other operating systems right now, is price.
You meant to say:
The only things Linux has over other operating systems right now are price, power, flexibility, and freedom.
As my children (who use Linux) would say: Go away little boy, and take your long nose with you.
Re:Something is breaking, that's for sure (Score:2)
Re:Something is breaking, that's for sure (Score:2)
VS is a slow, overly complicated, screen sucking, bloated, and featureless pile of shit. With VS2005 they just caught up to where eclipse was three years ago.
Re:Something is breaking, that's for sure (Score:2)
On a side note, most of the features you listed are already provided in one way or another. The only problem is, there are several implementations for each - so you're free to pick and choose (or get lost in all the options, as it happens).
Re:Something is breaking, that's for sure (Score:2)
To illustrate, the reasons that Linux is not the dominant Operating system.
Linux is the dominate OS in my house.
* We need to get a truly working pluggable driver model.
I'm not sure what you mean. I've written a driver under 2.2.x that ported to 2.4.x and 2.6.x with no major changes. My windows 95 driver and to be scrapped and rewritten for NT.
* We need to have a registry to track applications, and their installation paths, and installation parameters. (This will help with the install, uninstall, and depe
Re:Something is breaking, that's for sure (Score:2)
No RPM hell? You must either not use it, or work arou d it constantly. If you try todo the best thing (stay within your package mannager be it apt or yum or whatever), EVEN THEN there's been RPM hell. I had to actually remove packages and re-install them with yum because the dependencies were all screwed up. RPM hell happens.
Great....the LSB handles config issues.....
Re:Something is breaking, that's for sure (Score:2)
Next time, take a step back from your leetness and look at it as someone who wants a alternative to Windows but doesn't have a CIS degree.
I wasn't being leet. If you understand how a computer works then installing Linux isn't any harder than installing Windows. In both cases you need to know what components you have. I'm pretty sure the mom and pop computer stores around you will sell you a white box computer with Linux installed.
Hmmm....you have been working on Linux for 16 years huh? Maybe you have not
Re:Something is breaking, that's for sure (Score:2)
What are YOU doing about any of this?
Secondly it sounds like you are asking for windows. I don't want windows, windows already exists for people who want it. If you want a registry then use windows.
I already have a unified configuration, it's called the
Re:Something is breaking, that's for sure (Score:2)
Now, now that I have earned my > tag, onward!
There are tons of people who DON'T know how to write programs who want to use a OS that is different then Windows and is NOT Windows and is BETTER then Windows. They have every right to complain when things are not as they should be....they are users. The Non-Technical user needs to have thier needs addressed. Thankfully,there are distros that aren't like you!
Re:Something is breaking, that's for sure (Score:2)
That's exactly what I said.
"There are tons of people who DON'T know how to write programs who want to use a OS that is different then Windows and is NOT Windows and is BETTER then Windows."
You need to get rid of the notion that the only way to contribute is by coding. You can write docs, help people on IRC, design logos, join the FSF, buy a T-shirt, or just donate some time or money.
"They have every right to complain when things
Re:Something is breaking, that's for sure (Score:2, Insightful)
I really hope you mean a driver abstraction layer. In that case, I tend to agree. That is more or less what we have with ndiswrapper, btw.
We need to have a registry to track applications, and their installation paths, and installation parameters. (This will help with the install, uninstall, and dependency headaches)
Give me a break. Have you ever heard of package managers ? A registry, on the model you are implying, is just stupid.
We need a unified config
Re:Something is breaking, that's for sure (Score:2)
The UDI Project [projectudi.org] tried something like this. It didn't work, mostly because of political reasons. Platforms that are very popular with driver writers (read: windows, solaris to some extent) have an advantage in NOT having a pluggable architecture like this. So the big guys will never have a pluggable infrastructure. So that means the pluggable infrastructure will be used only (if at all) by fringe operating systems. So, then the hardware manufacturer
Shim driver? (Score:3, Informative)
This doesn't have anything to do with that recent NV/ATI GPL violation story [slashdot.org], does it?
(after reading Novell's intro page [novell.com] and the FAQ [novell.com]) It's not a shim driver: "A driver is linked to a specific kernel version via Kernel Application Binary Interface (kABI) metadata. ... In the event of kernel updates Novell will notify partners about possible changes to the kABI". This is just a new process by which established device manufacturers can work with Novell, not a shim driver to create a stable kernel ABI.
Re:Oligopoly (Score:3, Informative)
Version numbering (Score:5, Informative)
This makes binary and externally compiled drivers (including nvidia and vmware drivers that I use) break on every kernel update, and probably unnecessarily, The chances that anything changes to the driver interface because of a security patch are probably very slim, and they could always change the version in case a major change is made.
But now, it is just an annoyance. I need to install their patch, reboot into textmode, re-make the vmware and nvidia drivers, and again reboot to go back to fully functional operation. And I know how to do this. A beginning user is happy to finally have such an install/compile procedure behind him, and not at all happy to see the whole thing break after YOU installed a kernel patch.
(not to mention the fact that it can take him quite some time to find out that the kernel patch is the reason, and how to fix it)
Re:Version numbering (Score:3, Informative)
Unfortunately this is because the ABI _could_ change on every recompile. Hence the kernel version number has to be changed to reflect the fact that some drivers might be incompatible.
Re:Version numbering (Score:2)
if (!`modprobe nvidia`) {
}
if (! `modprobe vmware`) {
}
If you did that, you would never have to recreate the drivers again, infact, i think i might see if i can manage that, and submit it to the gentoo devs.
Re:Version numbering (Score:3, Informative)
1. init 1
2. install driver
3. init 5
(or, instead of init, telinit. It's the "correct" way)
BTW, if you can install the drivers without human intervention (in nvidia case, you need to extract the files from the package first), put something like this in
modprobe -q module || script_to_install_driver
ok... (Score:5, Interesting)
Re:ok... (Score:2)
Re:ok... (Score:2)
Re:ok... (Score:3, Insightful)
Can I use the hardware with Linux on ARM? MIPS? PowerPC? Do they guarantee feature and speed parity with Windows drivers? Will they continue to support the hardware, or, like ATI, will they only bother to support their most recent hardware?
At best it's monogluteal Linux support.
Re:ok... (Score:2)
a new Linux device driver process (Score:5, Funny)
Sounds more like a new marketing process.
Kernel Building (Score:2)
Then we would not have put up with pitiful crap like this quite so often.
PenGun
Do What Now ???
So enabling YasT to handle kernel modules... (Score:3, Interesting)
I mean, all this appears to be is distribution of precompiled kernel modules being handled by the package manager. This is not a good thing, let alone a huge advance.
How about a package manager that downloads the code, lets you inspect, customize, or debug it, then compiles it and adds it to your modules list once you approve it?
Re:So enabling YasT to handle kernel modules... (Score:2)
Any code that is compiled locally is by definition untested, and many people don't want to run untested drivers.
But if you want Gentoo, you know where to find it.
Re:So enabling YasT to handle kernel modules... (Score:2)
Re:So enabling YasT to handle kernel modules... (Score:2)
What planet do you live on?
Not only do most (and here I would wager "most" is 99%) desktop users NOT WANT to "inspect, customize or debug" a freaking KERNEL MODULE, why can't you just do that yourself? Why would you need a freaking package manager if you're going to be compiling the damn thing yourself, let alone tinkering with it?
While
Re:So enabling YasT to handle kernel modules... (Score:2)
For that matter, why am I using Linux? Especially SUSE, which is in my experience much more server-centric than desktop-centric. Knoppix, Ubuntu, or hell even Linspire should be the ones worried about updating things for desktop users.
The main reason someone who understands code would want to sue a package manager is the same reason anyone else would -- it gets the right version of something from the right place. I could very
Where's the "Linux" in this? (Score:3, Insightful)
Re:Where's the "Linux" in this? (Score:5, Insightful)
First off, Novell's distribution of Linux is "real Linux." I'm not sure how you think Debian or Ubuntu or whatever is "real Linux" but somehow SuSE, which runs the same kernel, programs, etc., is not. It's foolishness.
Secondarily, if you're trying to crucify Novell for attempting to make it easier for ISV's to integrate with their software offering, I have no idea how you plan to defend that. The problem with Linux acceptance is EXACTLY the problem of standardization. And since there seems to be no standards in motion for how ISV's should write and deploy Linux device drivers, they started their own.
What's the alternative to this? From past experience I think we can agree it's either (a) Hope that someone, somewhere comes up with a standard for "all Linux device driver development and deployment" and then hope that EVERY major Linux vendor and packager adopts this standard implementation and process. This is EXTREMELY unlikely and would take ages AND will still leave out some of the thousands of "distributions" on distrowatch and other places. Boo hoo, it's not fair! (b) Continue as we have been where device drivers are implemented in a myriad of different ways by different ISV's and have little to no support from the vendors themselves and NO support from the distribution creator.
Both of these options suck.
At least the Novell initiative here makes some promises and puts some manpower on these issues. Even the promise of Novell WORKING WITH VENDORS at all is such a welcome change from, for example, the crap shoot that is installing ISV device drivers with a Debian-like Linux system. I'm not saying it doesn't work sometimes or that Debian is a bad distro... but try to get support from ISV's for device drivers they wrote on, say, Ubuntu and let me know how that goes.
A bit unfair... (Score:3, Informative)
Of course this benefits Novell. They have a business to run. But just because you're upset another distro might not benefit from this, it's rather unfair to say that SUSE isn't "real" Linux, isn't it? Aside from proprietary drivers (and there aren't many - I'm not using any in my case), all source is included in the distribution.
Ok, I'd say relax people (Score:5, Insightful)
Binary only drivers are here to stay folks, we aren't going to abolish them, and as long as Linus is in charge of the kernel we aren't going to get a stable ABI, so, kernel update means recompile all your drivers... Any way to ease this burden is a GOOD THING because it encourages people to update their kernels. upgrading a kernel right now on any somewhat complex system, or anything that might not be 100% supported (IE wifi, some network cards, some storage devices and video cards) means a huge headache every single time a new kernel is released (by the major vendors at least 6 times a year). I estimate that if I were to keep my system updated it would take an additional 6-700 man hours per year, that is 30,000-35,000 dollars at $50/hour (which is low), you have to figure 1+ hour per system 75 systems, 6 times a year...
The Amazing Astro Turf! (Score:2)
Linux "Device Driver" pains (Score:3, Interesting)
So when I saw CentOS, I figured it was time to make the switch. It offered everything I needed. I went to fry's and bought the hardware for my new app server which included a cheapy HighPoint 1640 RAID card so I could setup a RAID 1 system. It said it supported Linux, so I figured I was good.
Well I wasn't good. There was source code for an open source driver from HighPoint. But trying to figure out how to package and build the thing was amazingly arcane and retarded! I HAD to install a floppy disk for godssakes. The experience of trying to bootstrap and get the damned open source drivers built for the thing was a long trip through the fiery pits. Equally evil was trying to figure out how to patch a new kernel with recompiled drivers whenever yum got me a new one. What a pain!
I'm a developer not a sysadmin. The fact that I figured out how to make my RAID card work with Linux was not a satisfying experience to me, it was frustrating and it was a waste of tens of hours over many months. You geeks who like to build kernels and fiddle with make files have at it. It's just not my thing.
In fact, I think there is no such thing as Linux device drivers
Whatever the case, the other poster who said it's not 1992 anymore had it right - we need some more slickness around drivers if we are going to win. And since I'm planning on not upgrading to the next version of windows, I would prefer we start winning on the desktop real quick.
Dave
How is it good? (Score:3, Interesting)
DKMS From Dell (Score:3, Informative)
Sounds like dkms from Dell:
Re:Breakthrough? (Score:3, Insightful)
I was always under the impression that the specs were closed to ward off copycatting from competitors.
Re:Breakthrough? (Score:2, Insightful)
Re:Breakthrough? (Score:2)
>> I was always under the impression that the specs were closed to ward off copycatting from competitors.
I thought they were to make sure noone knew they were stealing other people's/companies' intellectual property they didn't want to license.
It's probably a combination of all three, though.
Re:Breakthrough? (Score:3, Informative)
To move this to the software realm, where I suspect people here are more comfortable, this is like sayin
Re:Breakthrough? (Score:3, Insightful)
Re:Breakthrough? (Score:2, Insightful)
No, its not. See how when you want to use an ethernet adapter, you just put it in the machine and it works? See how when you want to use a wireless adapter, its a huge hassle, barely works, and will likely cause you machine to randomly hang?
If people keep accepting binary only shit like this, then the situation will just keep getting worse. Soon, you won't be able
Re:Breakthrough? (Score:2)
It is NOT a breakthrough because ALL package dependency managers IN THE WORLD do exactly what Novell is announcing.
This is nothing but a marketroid bluff.
So "XASER3 Co" wants to upgrade in place to current Debian, Red Hat, SuSE, Ubuntu, Mandriva... you name it? They just need to publish a repository for that distribution and add it to the repository manager of choice (yum, apt, up2date... you name it). From that moment onwards, package A will only update if all their depe
Re:Breakthrough? (Score:4, Insightful)
Sad thing is, this probably isn't a troll. You sound like most of the kernel developers who refuse to make a stable API or ABI.
You wonder why Linux has such shitty support? Your attitude and the attitude of the devs
Re:Breakthrough? (Score:4, Insightful)
Now that Linux has a large userbase, you're arguing that is ok to relax that since some user wants binary drivers that just work. However, when you go that route, it's hard to go back because everybody *expects* the ABI to remain stable. Instead of improving the kernel, the devs will waste time sorting out ABI issues; not the best use of time.
Re:Breakthrough? (Score:2)
That was one of my arguments yes. My other was that if they are going to insist on open source drivers you can make a certification process for companies who wish to k
Re:Breakthrough? (Score:2)
This isn't Windows, and users aren't prepared to put up with drivers that are shitty, and that break when we make changes.
Drivers are one the the biggest sources of crashes, and if we allowed every shitty hardware company to throw binary blobs over the wall, in less than a year we'd have a kernel just like N
Re:Breakthrough? (Score:3, Interesting)
It's not a question of "refusing." The issue is that they know they're not done yet.
The kernel API is a moving target because the technology -- and knowledge behind it -- is growing and evolving. One of the more perfect examples of this evolution is Linux power management. The first released API consisted essentially of suspend() and resume(). Even back in the days of APM,
Re:Breakthrough? (Score:2)
The only way to get stability is to fix them, and the easier way to do that is opensource them. Even if you have a 100% pure microkernel, a bad disk driver won't allow you to run your programs, a bad graphics driver won't allow you to use graphics. Stability is not just about hanging, and there's not magic that you can apply to make drivers not suck.
Re:Breakthrough? (Score:5, Insightful)
This argument is repeated time and again here on Slashdot and the fact is it is rediculous. Want to know why? Because Novell's customers want it. In fact, they want Suse Linux to run on whatever white-box thrown-together-component list they decide, and having vendors supply drivers to reach that goal makes Novell a more attractive company.
Novell isn't /. - this is the real world. Compatability = greater acceptance = better marketing position & happier customers = more sales. Period.
Re:Breakthrough? (Score:2)
Re:Breakthrough? (Score:2)
Re:Breakthrough? (Score:2, Insightful)
You know, the argument about closed-source drivers and "the idea of open source" is getting old. If I'd want a religiously open system, I'd be running debian. Oh well, I couldn't play the games I paid for, but I'd be running a 100% GPL'ed box, so I should be happy with it, right? Since those games are closed source as well, that would be fine, ok, right? What I want is a system that does what I want, the way I want it to (which in
Re:Breakthrough? (Score:2)
Do you have any factual information to back it up? Links, please. Otherwise just mark your post as FUD next time to save us the trouble.
Yet another unsupported generalisation. There are a lot of people writing closed-source Linux drivers. Some know more, some know less. Overall, from my experience with those drivers, it seem
Security? (Score:2)
Re:Security? (Score:2)
Re:Security? (Score:2)
If you're in a virtual machine (at least a traditional virtual machine that doesn't require any special kernel support) you're not getting out without exploiting a security hole in the virtual machine program or processor. I don't think that Xen, user-mode Linux or any decent virtualization solution based on AMD or Intel's new processor extensions for virtualization would let you "break out" by merely changing the virtualized kernel ei
Re:Wireless drivers (Score:4, Interesting)
Buy hardware that is supported. Yes it's a pain to do the research, but it's worth it. I have a Shuttle XPC and wanted to install their wireless add-on that doesn't require a PCI slot. I worried about drivers until I found that it uses the ZD1211 chip for which ZyDas provides an open source Linux driver. Then I learned that there is a sourceforge project to rewrite the driver so it's suitable for integration into the mainline kernels - 64bit included. They plan to get into 2.6.17 or 18 kernels, so wireless may well work out of the box when I upgrade to Fedora 6 in the fall. For now it's possible to make it work the hard way (download/compile) without ndiswrapper.
There are other cards with this chip and there are other chips with native Linux drivers in various states. The future looks good.
Re:Wireless drivers (Score:2)
Re:Welcome to Windows 2000 (Score:2)
I guess we know who writes the true Servers OS, and who writes the true Desktop OS.
Nice try at a troll though :)
Re:Overhead? (Score:3, Informative)
None. There isn't an abstraction layer. This is just a new process for Novell to notify hardware makers when they patch or build a new kernel, get precompiled binary drivers for their newly-built kernel and make them available to users as part of the security-update download of a new kernel package. It's got nothing to do with the actual driver modules, kernel compilation or anything in the software itself.
Re:Sure it's SUSE® Linux Enterprise products? (Score:2)
It's probably copyrighted. Gotta watch those lawsuits.
Re:Failure of computing. (Score:5, Informative)
Yes. It does.
Like it or not, the underlying hardware for computer peripherals -- be they USB cameras, joysticks, mice, SCSI controllers, graphics cards -- can be substantially similar, or completely different, most often because they take completely different approaches to solving the same set of problems.
A splendid example -- and one I can speak to directly, having written several drivers for them in my time -- are graphics cards. Once upon a time, all a graphics card did was display pixels. It was a dumb framebuffer, and the CPU did all the drawing. But even that much wasn't uniform across all cards. Some displayed only monochrome. Others displayed two or four colors per pixel. Sometimes the colors were hard-coded. Other times the colors could be defined by the user and stored in a palette (which could be 6, 8, 9, 12, 15, 18, 21, or 24 bits wide). Some had the pixels arranged as a linear array in memory; others stored pixels in an odd pattern based on a logical transform of the X and Y coordinates. Which line draw or rectfill routine you used depended on which card was installed.
Then someone invented a chunk of hardware called a "blitter" which did some of the drawing operations for you. All your old code would work, since it could still write to the framebuffer pixels, but the blitter was faster. But wait! Some blitters used X and Y coordinates and dimensions. Other blitters took memory addresses and byte counts. Some wanted you to write values to in-chip registers to setup and perform the blits. Others preferred you wrote a series of instructions in RAM and told the chip where the instructions were. All would do straight copies, but some would also do logical operations on the pixels (AND, OR, XOR). But not to worry; the device drivers abstracted all this away. All you had to do was call the rectFill() routine; the driver would worry about the gory details.
And that might have been the end of it, except this jerk named John Carmack wrote a game called Quake, and suddenly just 2D hardware support isn't good enough for anyone anymore :-). Enter 3Dfx, ATI, Rendition, NVidia, and others, each with their own approach to draw 3D primitives quickly, each requiring custom software that knows where all the HW registers are, what they mean, and how to manipulate them.
All of which is a long-winded way of saying: The abstract interface at the application level may be the same (rectFill(), glVert3f()), but the actual nuts and bolts of turning that abstract expression into pixels on the screen varies enormously.
You're not completely off-base, though. There are some very simple peripherals where the abstractions have been pushed directly to the hardware layer (keyboards, mice, USB HID devices), but even this is an arguable point, as the firmware running in the peripheral itself is simply translating what's really going on into the commonly-accepted abstraction. Nowhere was this more true than when mice transitioned from opto-mechanical (rolling balls and encoder wheels) to purely optical (tiny cameras). Internally, they're entirely different, but the firmware running inside completely obscures that fact, and all you see on the wire are movement deltas.
So, no, I'm not involved in an elaborate conspiracy to justify my job. As long as silicon designers have new and evolving ideas about how to make things better/faster/cheaper, device drivers will remain a necessity.
Schwab
That's a funny post. (Score:2)