https://blueprints.launchpad.net/ubuntu/+spec/standardised-hardware-support

Overview

This spec needs to be formalised, but for now, here is the basic idea:

Assign a hardware ID to all known, supported pieces of hardware, and provide standardised Hardware Support Packages (HSPs).

When the user wants to add support for a new piece of hardware, be it a printer, sound card, mobile phone, web cam, or other device, they simply need to install the one HSP that is specifically associated with that device via this hardware ID. This can be simplified with something not too unlike the Restricted Drivers manager we already have, though the scope obviously extends outside the boundaries of proprietary unsupported kernel modules.


Rationale

Currently, it appears that we are simply throwing as much hardware support into Ubuntu as possible, without really attempting to keep a clear division between software that pertains to different pieces of hardware.

This leads to a number of problems. A few particular issues currently affecting Ubuntu are:


Example

I have a Sony Ericsson K750i mobile telephone. It is supported by:

For the purpose of this example, we can give my device a hardware ID of "f000ba12".

The HSP name for this device would hence be something like "hardware-support-f000ba12". It can depend on hypothetical "usb-mass-storage", "hal-sony-ericsson" and "tango-device-icons-sony-ericsson" packages.

Notes on this example

Currently, USB mass storage support is installed by default, and the (very specific) HAL FDI data for the phone is simply bundled with upstream HAL. Device icon support is all thrown in together in Tango. As more and more hardware becomes supported, it will become very inefficient to do what we are doing with HAL FDI data and icons.


Multiple choice HSPs (e.g. fglrx vs. r300)

When there are multiple driver configurations possible, then two alternative packages can "provide" the standardised HSP.


Comments


CategorySpec

StandardisedHardwareSupport (last edited 2008-08-06 16:19:36 by localhost)