Man vs. Myth: Greg K-H and the Kernel Driver Project


Don't tell Greg Kroah-Hartman that Linux hurts for device drivers. He's heard too much of that rap, and he's already done plenty to stop it. We should thank him and help pick up the ball. I'm doing both here.

The beginning of the end of the Missing Drivers Myth came at the 2006 Ottowa Linux Symposium, where Greg said "Linux supports more different types of devices than any other operating system ever has in the history of computing".

Still, the OSDL (later the Linux Foundation) board -- comprised mostlly of large vendors -- listed device drivers as the #2 "most pressing issue". So the Linux Driver Project (LDP) was created. Alas, Greg reports on his blog, "No vendors showed up". But after he announced "Tell me all of the hardware that you know of that is not supported by Linux!", he writes, "the response from users was overwhelming". Thus a canonical wiki list was created at the LDP.

After this Greg went to each vendor personally:

The conversation almost always went like this:

ME
"What hardware do you ship that is not currently supported by Linux?"

VENDOR
"It all is."

ME
"But wait, why are you claiming that 'Linux drivers' is your second most pressing issue today with Linux?"

VENDOR
"I don't know."

Thanks to those clues, missing drivers is out of the board members' top ten pressing issues.

But there is always work to be done. As Greg puts it, that work falls into four categories of User Complaints. Here they are, with excerpts of Greg's responses to each:

  1. Printer and Scanner support.
    "...already being handled very well by the Linux Printing project and the SANE project. Printer and scanner drivers in Linux are userspace programs and libraries and have nothing to do with the kernel at all. If you have any issues with these types of devices, please go ask the developers of those projects about it."
  2. Older devices no longer manufactured that people really want to see working on their Linux machines someday.
    "...is hard. It would be great for Linux to support all of these older devices, but without the specs for the device, or in many cases, a company that is still in business, Linux support is going to be very difficult to achieve.... luckily, for almost all modern hardware devices, it is not necessary."
  3. Wireless device support
    "The Linux-Wireless group of developers have done an amazing amount of work in the past year, adding a whole new wireless protocol stack to the Linux kernel, as well as numerous different hardware drivers, some initially created by vendors and others created by reverse engineering the hardware with no vendor help or approval. The latest kernel.org releases contain a raft of new hardware support for wireless drivers, and the number of active drivers in their queue to be added in the near future is quite large."
    Alas, "There are still some wireless vendors that do not provide Linux support directly. Two of these, Atheros and Broadcom have drivers created by the community through reverse engineering efforts... Hopefully this will change in the future."
  4. Video input device support.
    "... there is an active Linux developer community in this area, but they seem to be hampered by a different development model ... and a lack of full-time developers, not to mention a high degree of inter-personal conflicts that seem quite strange to outsiders. Support for a large majority of these devices is slowly trickling into the main kernel tree, the most important being the USB Video class driver, which will support almost all new USB video devices in the future, thereby removing the major problem most users will face when purchasing a new video device."

In addition to further education, Greg has opened development by keeping all code related to the LDP project in a quilt patch series that is automaticlaly included in the linux-next-daily kernel releases. which are then contained in a git tree that "provides a place where developers can provide changes, updates, and see where they can help out if they wish to do so in a much easier manner . It also provides a way for companies participating to observe the status of their code in a much more open manner."

It would be nice if Atheros and Broadcom were among those companies.

For more visit linuxdriverproject.org.

Greg's blog post is here: http://www.kroah.com/log/linux/linux_driver_project_status-2008-04.html

- Doc Searls