|
|
Subscribe / Log in / New account

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

O'Reilly has an interview with kernel hacker Greg Kroah-Hartman. In it, they cover topics like Linux device support, the kernel development process, and the ever (un)popular binary-only device drivers. "The ease of writing drivers; Linux drivers are at normally one-third smaller than Windows drivers or other operating system drivers. We have all the examples there, so it's trivial to write a new one if you have new hardware, usually because you can copy the code and go. We maintain them for forever, so the old ones don't disappear and we run on every single processor out there. I mean Linux is 80% of the world's top 500 super computers right now and we're also the number one embedded operating system today."

to post comments

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 3, 2008 14:53 UTC (Mon) by nix (subscriber, #2304) [Link] (6 responses)

Good grief that was painful to read. Why couldn't it be transcribed by someone at least willing to clean up obvious stutters and transform emphasis into something visible on the page? (Even the *questions* were prone to this, e.g. one that talked about 'not just very old kernels but very old kernels', presumably with a difference of emphasis in the original broadcast...)

(I think I'd have liked the content if it wasn't such a straight transcription!)

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 3, 2008 19:15 UTC (Mon) by chromatic (guest, #26207) [Link] (5 responses)

I cleaned up the basic problems, but I'm not going to change the text of someone's answer in a substantive way; you won't catch us putting words in someone's mouth.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 3, 2008 23:15 UTC (Mon) by nix (subscriber, #2304) [Link]

I'm afraid there were large numbers of obvious speech production errors
and several areas which were almost incomprehensible (as in, you needed to
know Greg's opinion on a subject in order to know what he was saying).
This is normal in any verbal interview: generally one *does* in fact clean
these things up. (If you're concerned, the thing to do is run it past Greg
again and let him OK the changed version.)

Nice questions, nicely-run interview, nice webpage, shame about the
transcription is all :(

-- N., ran a school newspaper fifteen years ago so knows everything
(because people who are almost totally ignorant in a subject are always
know-it-alls!)

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 1:31 UTC (Tue) by ballombe (subscriber, #9523) [Link]

> you won't catch us putting words in someone's mouth.
Despite this claim, I doubt Greg ever uttered "thoguht" and "awht".

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 3:54 UTC (Tue) by BrucePerens (guest, #2510) [Link]

Oh. Perhaps we should suggest that people you interview in the future use email, then. Most are just not capable of producing text-quality material when speaking. I just hate when direct transcriptions of my off-the-cuff speech go to print.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 10:17 UTC (Tue) by ekj (guest, #1524) [Link] (1 responses)

The normal procedure is to clean it up to text-standard as far as possible without changing the meaning of it, then run it by the person interviewed to get an OK on it prior to publishing.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 19:15 UTC (Tue) by chromatic (guest, #26207) [Link]

We try to do just that. This one was a bit of a rush, for various unremarkable reasons. I'll make sure we leave more time next time.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 3, 2008 15:42 UTC (Mon) by JoeF (guest, #4486) [Link] (11 responses)

"We maintain them for forever"

Well, not quite. I have a framegrabber card that is not supported anymore, and the code actually was removed from the V4L subsystem.

Deleting drivers

Posted Nov 3, 2008 16:17 UTC (Mon) by alex (subscriber, #1355) [Link] (1 responses)

Perhaps you should ask your distributor (easiest) or lkml (harder) about getting it merged back in. IIRC some driver do get dropped because they fail to compile or are horribly broken and no one notices so the developers take the view no one cares.

What card was it?

Deleting drivers

Posted Nov 3, 2008 22:13 UTC (Mon) by JoeF (guest, #4486) [Link]

I asked the V4L maintainers to keep it in there.
Admittedly, the driver was broken and the maintainer didn't seem to be interested in it anymore. I had sent her my patches to make it work.
It is for the Zoran 36120 chip, btw.
http://marc.info/?l=linux-video&m=116448212417204&...

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 3, 2008 16:41 UTC (Mon) by iabervon (subscriber, #722) [Link] (8 responses)

Technically, they stop maintaining them at some point after they become unable to find the device or anyone who has one, when they get into a situation where they can't tell if it still works or not without actually trying it.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 3, 2008 20:55 UTC (Mon) by avik (guest, #704) [Link] (7 responses)

That's a relatively short definition of 'forever'.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 3, 2008 22:16 UTC (Mon) by iabervon (subscriber, #722) [Link]

Or a solipsistic definition of "maintain". How can you say whether a now-removed driver correctly supports hardware that doesn't exist?

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 3, 2008 22:20 UTC (Mon) by JoeF (guest, #4486) [Link] (5 responses)

That's a relatively short definition of 'forever'.

Indeed.

In my case, there are still people who have cards with the chip in question, I have submitted a patch, but even so, the V4L maintainers apparently don't care...

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 14:00 UTC (Tue) by nhippi (subscriber, #34640) [Link] (4 responses)

> I have submitted a patch, but even so, the V4L maintainers apparently don't care...

Looking at that thread, you were just not persistent enough. It's not really fair to complain that others don't care when you don't seemingly care enough to keep reposting the patch/driver to v4l list until you get a reaction out of them ;)

If the subsystem maintainer is not reacting your patches, ask others for help. Greg's Linux Driver Project or linux-staging are good places to start at. If you feel your patch is already in good condition, you can ask Andrew Morton to include it in his tree.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 16:43 UTC (Tue) by JoeF (guest, #4486) [Link]

Well, personally, I scratched my itch, and have the patch on my website. That's what Open Source is about, for me.
I have neither the time nor the inclination to play all the political games to get something included in the kernel. I play with the kernel in my limited spare time...
Here, I was really just commenting on Greg's claim that Linux keeps drivers forever, which clearly isn't true.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 17:14 UTC (Tue) by JoeF (guest, #4486) [Link] (2 responses)

Oh, and the driver *was* in the kernel. It was taken out by the V4L maintainers, which is a rather drastic thing.
Cleaning it up I could have understood, but taking it out? And pretty much without warning. A simple question on the V4L list like "anybody still using this" would have helped. Indeed, there have been such questions before, and I had chimed in at that point.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 5, 2008 10:18 UTC (Wed) by nhippi (subscriber, #34640) [Link] (1 responses)

> Oh, and the driver *was* in the kernel. It was taken out by the V4L maintainers, which is a rather drastic thing.

from the original thread:

- already been marked as BROKEN in 2.6.0 three years ago and
- is still marked as BROKEN.

Without warning eh?

> Here, I was really just commenting on Greg's claim that Linux keeps drivers forever, which clearly isn't true.

Well lets refine that. Linux keeps any driver forever, as long there is atleast one person who finds enough time at least once in three years to keep the driver functioning ;)

Vendors have a clear interest to write drivers for their current hardware, but for legacy drivers Linux depends on volunteers on their limited free time. The mythical "someone else" has her own itches to scratch, and unless you are very lucky, it isn't "cleaning up drivers for esoteric hardware I don't own".

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 5, 2008 15:56 UTC (Wed) by JoeF (guest, #4486) [Link]

As I mentioned, I had sent my patches to the maintainer, which I think is the right thing to do.
Now, the *maintainer* was the person who didn't maintain the code anymore.
And it *was* known to the V4L list that there are people who still use this chip.
There was *no* communication on the list about "we want to remove this, unless somebody is fixing it". So, I maintain that the *removal* came without warning.

Well lets refine that. Linux keeps any driver forever, as long there is atleast one person who finds enough time at least once in three years to keep the driver functioning ;)

I did. I originally submitted my patches to the person listed as maintainer of the code.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 3, 2008 15:54 UTC (Mon) by mrshiny (guest, #4266) [Link] (5 responses)

If only Linux supported those devices reliably. Every single Fedora kernel update is like playing Russian Roulette with my Intel WiFi card. I have to run old kernels, with security holes, because the driver is broken in 4/5 kernels released. If the drivers were distributed separately from the kernel I could easily install a new kernel with a working driver, but the kernel gods have decreed that I am not to do that. Sigh.

Out of tree doesn't work

Posted Nov 3, 2008 16:15 UTC (Mon) by alex (subscriber, #1355) [Link] (1 responses)

It's not been decreed you can't do it but out of tree drivers have
been shown to be suboptimal. They break because there isn't a stable
internal API and that is a design decision in the kernel. If you want
a stable driver ABI that allows that I suggest you try Solaris,
assuming it supports your device of course.

It's a shame your having issues with your WiFi card. WiFi has been one
of the late developers for Linux support for a myriad of reasons.
Hopefully things like the new regulatory framework stuff will make it
better. I assume you've raised bug reports for your breakage? Is it
Fedora breakage or mainline kernel breakage?

Out of tree doesn't work

Posted Nov 3, 2008 20:22 UTC (Mon) by mrshiny (guest, #4266) [Link]

I don't know if it's Fedora breakage or Mainline breakage; realistically there's no way for me to know unless I want to try installing vanilla mainline kernels. That sort of thing has never worked well for me in the past; it's always very annoying to try to replicate the config that your distro uses. I have raised bugs with Fedora and follow the WiFi bugs; you can easily find them in the Fedora Bugzilla where lots of people complain about the various problems they have.

As for out-of-tree drivers being sub-optimal: they "break" because the kernel devs don't maintain a stable API (nevermind ABI) for any length of time and thus nobody even bothers to try to ship out-of-tree drivers. GKH has his stable-api-nonsense doc but frankly I'm not convinced. I have issues with my hardware, under Linux, all the time because the drivers have to be shipped with the kernel; I can demonstrate actual harm caused by this policy.

It boils down to this: I HAD a working WiFi driver. However in order to get security updates and other updated drivers, I updated my kernel and WiFi stopped working. Of every 2.6.25 release Fedora 8 had, only ONE worked for me, and none of the later ones have worked at all. I don't mess around with kernel compilation anymore (isn't Linux supposed to just work now?) but I can install a driver if I have to... lots of regular users know how to install a driver; in the Linux world you just can't do that, you need to upgrade everything. Changing thousands of lines of code when I only need a few changed is simply bad risk management and bad engineering.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 3, 2008 16:30 UTC (Mon) by drag (guest, #31333) [Link]

It might be helpful to be a little bit more specific. Anecdotal evidence is usually pretty dubious, but anecdotal evidence without any facts or numbers to back it up is usually just useless.

For example this is my situation:

I am using Debian unstable on my laptop. I bought my 1420n laptop a while ago and it came with Ubuntu pre-installed on it. At that point everything 'just worked', including my wireless. My wireless card is Intel 3945ABG.

When I installed Debian over Ubuntu wireless became unreliable. Eventually I found that compiling the out of kernel code from the Iwlwifi project made my card work quite reliable.. however there were still Intel firmware bugs that caused my card to fail when connecting and getting disconnected from some specific routers. It would just stop working and sometimes rmmod and modprobe made it work again, but not always.

However since the Iwlwifi stuff has been incorporated into the kernel and intel update it's firmware... it's been dead stable.

---------------------

Keep in mind that I've run into XP machines that have had VERY unreliable wireless cards due to Intel firmware bugs. Now they 'just worked' in Linux because Linux was much more capable of dealing with intermittent hardware failures gracefully.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 3:57 UTC (Tue) by BrucePerens (guest, #2510) [Link] (1 responses)

Is this the card that had the firmware-corruption bug recently? I have pity on folks who have to code drivers for hardware that will kill itself if spoken to incorrectly. I always liked the idea of limit switches, etc.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 6:19 UTC (Tue) by jamesh (guest, #1159) [Link]

The firmware corruption bug was for the wired gigabit ethernet driver (e1000e), so shouldn't be a problem.

That said, the problem code that was writing to the firmware (dynamic ftrace) could easily have been stomping over other drivers' IO space in a way that causes malfunctions but not firmware destruction. There were reports of ipw3945 hangs during boot on beta versions of Ubuntu 8.10 that stopped occuring when the dynamic ftrace code was disabled, so that is certainly something to keep in mind.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 3, 2008 20:02 UTC (Mon) by jwb (guest, #15467) [Link] (9 responses)

Supports more devices, only on a naive calculation. Weighted by # of devices in the field, Linux doesn't look so hot. F'rinstance, there are probably tens of millions of nvidia GPUs in the field and Linux doesn't support them.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 3, 2008 20:28 UTC (Mon) by ca9mbu (guest, #11098) [Link] (4 responses)

Linux doesn't support Nvidia GPUs? Even going back to a Riva TNT, I've never had issues with my Nvidia card.

Maybe what you meant was that the full 3D capabilities of the card are not supported in upstream Linux releases? That's a far cry from the card itself not working/being supported at all which is how I read your original comment.

Such support is available via binary Nvidia-supplied drivers. The lack of upstream support for the full Nvidia GPU functionality is noone's fault other than Nvidia's themselves (or, possibly, more specifically, their lawyers).

I'm not sure that anything remotely like the following is possible to get an answer for, but I think a much fairer question would be "of those devices that we have documentation for or are otherwise able to figure out how they work, how many are a) upstream or b) otherwise available as a source tarball".

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 1:27 UTC (Tue) by JoeBuck (subscriber, #2330) [Link] (3 responses)

Not supporting 3d means not supporting the vast majority of the hardware in a video card, and not being able to use the most computationally powerful part of your machine. Too bad nVidia won't play nice, but please don't pretend this isn't a concern.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 4:00 UTC (Tue) by BrucePerens (guest, #2510) [Link] (1 responses)

nVidia might solve the problem by disappearing or being merged. They dug themselves a pretty big hole of late with failing chips. You could see them become part of a laptop manufacturer like HP or Dell soon, as they might owe those companies so many Millions that it's the easiest way out. It might be the fault of their chip fab company and not them, but that might not save them.

nVidia chip quality declining?

Posted Nov 4, 2008 19:50 UTC (Tue) by pr1268 (guest, #24648) [Link]

Wow! I wasn't even aware that nVidia is having reliability issues with their chips. The graphics card currently in my home PC is an nVidia 6600GT, purchased over a year ago, with a different brand name (EVGA) and a sticker on the box proclaiming a "Lifetime Warranty". I've never had any hardware issues with an nVidia card other than the occasional on-card fan breaking.

(Disclosure: I use the proprietary binary driver in order to utilize all the capabilities of the graphics card. I do wish nVidia would be more Open-Source friendly, but their current "support" for Linux is about as good as I can expect for now.)

You make a good point, Bruce, about nVidia possibly owing millions to the other hardware vendors... they may be a takeover target soon, but with the economy in the pan I'm a little skeptical for now.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 9:30 UTC (Tue) by ca9mbu (guest, #11098) [Link]

Oh, don't get me wrong Joe, I'm not pretending it's not a concern. I'm just saying that slighting Linux's ability to support/provide this functionality given the vendor's behaviour is hardly fair. I have no doubt that if the datasheets et al were released by nVidia, we'd have a pretty much fully functional, robust driver in fairly short order.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 6:30 UTC (Tue) by alankila (guest, #47141) [Link] (1 responses)

Based on this metric, I doubt even win32 could be said to support them.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 8:49 UTC (Tue) by Los__D (guest, #15263) [Link]

Based on that metric, Windows supports almost no devices, most drivers are vendor supplied.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 12:49 UTC (Tue) by alecs1 (guest, #46699) [Link] (1 responses)

NVidia I guess is supported well enough: they function on Linux, and the binary drivers offers access to the 3d acceleration. They have working 3d drivers, the suspend problems did not hit me, neither did crashes, only the DPI settings where weird for the computer I tryed.

Fglrx doesn't do that for this computer, never did for the other one. Neither radeonhd. At this time I am very unhappy for falling in the marketing trap of radeonhd and buying a AMD/ATI card.

Listening to this interview made me feel good for the duration of the audio recording. But in reality I am very unhappy with my laptop support. Actually, I will be happy when my bug reports get some sort of attention (Debian and ALSA bts, fixing the problems myself is well beyond my capabilities, although I am programmer myself).

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 4, 2008 15:55 UTC (Tue) by drag (guest, #31333) [Link]

Well it's also worth keeping in mind that the #1 producer of video cards is going to be Intel, which has acceptable Linux support. AMD has released specs, documentation, code and support for developing Linux drivers for it's hardware.

So between the both of them you have the ability to the majority of video hardware under linux. Majority by a large margin.

Like Wifi cards the ability for Linux to support these things is largely dependent on the existing subsystems in the kernel... Without good code base that driver developers can take from and depend on making video card drivers is exceptionally difficult. Just like trying to support Wireless devices without a proper 802.11 protocol stack to depend on.

So by having at least two different types of hardware, three if you include the Nouveau project, the Linux devs should be able to have the facilities and non-video card specific video card code to get supporting new devices much easier.

Also you have to depend on X.org to keep up with Linux and work with Linux developers. So that adds a entirely new twist on everything.

With things like GEM, KMS, Wayland, DRI2. Gallium, etc.. Linux may be in pretty good shape in another year. OSS may even be competitive in this department with hardware that has been out for a while.

More of today's devices?

Posted Nov 4, 2008 4:05 UTC (Tue) by BrucePerens (guest, #2510) [Link] (3 responses)

Legacy devices are of diminishing importance - unless you have one. We still have lots of problems with wifi cards that require use of ndiswrapper, etc. There are still tons of scanners not in SANE yet (pun intended). So perhaps we should not celebrate victory until we can say we have more devices when the list is weighted by the number of devices sold and still existing, etc.

More of today's devices?

Posted Nov 4, 2008 20:01 UTC (Tue) by JoeF (guest, #4486) [Link] (2 responses)

Legacy devices are of diminishing importance - unless you have one.

Indeed. And taking code for legacy devices out of the kernel doesn't help.

There are still tons of scanners not in SANE yet

Yeah, another sore point of mine. My Brother MFC printer/scanner is not supported by SANE...

More of today's devices?

Posted Nov 6, 2008 23:56 UTC (Thu) by hppnq (guest, #14462) [Link] (1 responses)

Are you sure? My Brother is in sane, has been for a while.

More of today's devices?

Posted Nov 7, 2008 19:15 UTC (Fri) by jonasj (guest, #44344) [Link]

My Brother is in sane, has been for a while. I hope he gets better soon ;-)

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 5, 2008 10:13 UTC (Wed) by renox (guest, #23785) [Link] (2 responses)

I wonder if he counts the drivers provided by the HW manufacturer or only the drivers included in the OS itself?

Because even though Windows itself doesn't have a driver doesn't mean that the HW is unusable under Windows, it just mean that you have to install the manufacturer provided CD which is usually very simple..

What matter to users isn't so much whether the OS includes the driver or not but whether he can have his HW working (without too much trouble) or not.

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 5, 2008 10:43 UTC (Wed) by tzafrir (subscriber, #11501) [Link] (1 responses)

I have a card reader. With Linux I can use it as yet another USB storage device - this is just another "USB disk" on every Linux machine.

With windows with only works if I carry the drivers disk around with me. Do I really need to carry it around with me? Does it have the latest version?

How Linux Supports More Devices Than Any Other OS, Ever (O'Reilly)

Posted Nov 5, 2008 16:34 UTC (Wed) by renox (guest, #23785) [Link]

Not on every Linux machine no, only those who are recent enough to know your hardware, and those machine won't have necessarily the latest version either!

Usually for Windows you don't carry around your driver disk, you download the driver from the manufacturer so that in one step you have the latest version.

Look, I don't dispute that having drivers integrated on the OS is very convenient, I'd just like to know what 'support' means here 'integrated support within the OS', yes in this case Linux has probably more drivers than Windows, if it's 'support' as in 'work' then I'm more surprised.


Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds