What is so fundamentally different about drivers in Linux and Windows? Specifically, video card drivers have always frustrated my understanding of what's going on under the hood. Say I have a nice video card from ATI. I need to install some cool drivers from ATI in order to make the card work at its best and in order to do any cool things like dual monitors. I download these drivers from the company's website, install them on my machine, and I'm off and running. Assuming all goes according to plan. That's all fine. Now, this is what confuses me. In Windows, I'm done forever at this point. I've never had a problem, nor heard of a problem, where I had to mysteriously reinstall the drivers for my video card after an Automatic Update. Not so in Linux. Every kernel update has me wondering if I'll have to reinstall the drivers for my video card. It seems like sometimes I do and sometimes I don't. I just reboot and pray that my video card is still working afterwards. Not knowing a great deal about how drivers really work in Linux or Windows, I can only really conclude that either Microsoft never updates the Windows kernel (at least not in a way that screws with driver interfaces), or there is something very different about how the two operating systems handle drivers. Can anyone shed some light on the subject for me? Thanks, bit
On Wed, 2007-12-26 at 12:06 -0500, Bit wrote:> What is so fundamentally different about drivers in Linux and Windows? > > <snip>> Not knowing a great deal about how drivers really work in Linux or > Windows, I can only really conclude that either Microsoft never updates > the Windows kernel (at least not in a way that screws with driver > interfaces), or there is something very different about how the two > operating systems handle drivers. Can anyone shed some light on the > subject for me? > > Thanks, > bit > <snip sig stuff>It really comes down to the difference between the "business models". Windows: closed, propietary, major market share; *IX (a lot of them) open, non-propietary, lesser market share. The developers of the hardware almost always provide drivers for W*dows. They know their hardware intimately, they have full-blown develpment teams and systems with access to necessary source in W*dows, etc. For *IX, only some hardware developers provide drivers. The rest are developed by community members. These are often based on only specs from the hardware developers and often no specs at all. Specs may be erroneous, incomplete and/or late. No in-house development systems or teams. W*dows drivers available upon release of the hardware, *IX often necessarily have to come late due to the items mentioned above. You can avoid a lot of this by just running all your video adapters in VGA mode, which is relatively static and supported with very little change needed as new kernels and hardware become available. -- Bill
On Wed, Dec 26, 2007, Bit wrote:>What is so fundamentally different about drivers in Linux and Windows?A major difference with Vista is that their drivers are more concerned with DMCA copyright protection than performance, and this goes down into the hardware as well. http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.html>Specifically, video card drivers have always frustrated my understanding >of what's going on under the hood. Say I have a nice video card from >ATI. I need to install some cool drivers from ATI in order to make the >card work at its best and in order to do any cool things like dual >monitors. I download these drivers from the company's website, install >them on my machine, and I'm off and running. Assuming all goes >according to plan.Video card manufacturers have a long history of changing things, with no documentation of course as they're proprietary. So long as they provide Windows drivers, they figure their job is done. Linux doesn't have enough market share to really get their attention, and developing these for Vista is made more expensive (see the article above) so they concentrate their efforts where they will get the most return. Bill -- INTERNET: bill at celestial.com Bill Campbell; Celestial Software LLC URL: http://www.celestial.com/ PO Box 820; 6641 E. Mercer Way FAX: (206) 232-9186 Mercer Island, WA 98040-0820; (206) 236-1676 The day-to-day travails of the IBM programmer are so amusing to most of us who are fortunate enough never to have been one -- like watching Charlie Chaplin trying to cook a shoe.