NOTE: This page is part of the Ubuntu Specification process. Please check the status and details in Launchpad before editing. If the spec is approved then you should contact the Assignee, or another knowledgeable person, before making changes.
Created: 08/31/06 by AgostinoRusso
There are several hardware compatibility lists available on the web, but such lists often do not give users clear indications, and have several grey areas. Grey areas are in practice a green flag to "give it a go anyway" even when the user experience cannot be guaranteed to be satisfactory. As a result such lists, while extremely useful, might negatively affect the reputation of Linux distributions and Ubuntu in particular. The aim is to correct this situation by creating a list that draws a clear line between supported and unsupported hardware, eliminating grey areas and disincentivizing users from experimenting with hardware that has a less than satisfactory level of support. It is essential for the hardware list to have an official feeling to it, possibly with a proper certification program. This will help preserve Ubuntu's reputation and incentivize hardware manufacturers.
With other operating systems (like OSX) users check if the hardware is compatible before making a purchase, and if unsupported hardware does not work properly they certainly do not blame the OS.
Somehow the same attitude does not hold for Ubuntu. When unsupported hardware does not work users blame Ubuntu. The problem is generally that their expectations for the specific hardware were far too optimistic to begin with, because not based on correct information, or because the users did not easily find relevant information (and assumed their hardware would work), or because the information found was not clear enough.
Even worse, sometimes users try to fix things by themselves following guides they fetch on the web (often of arguable quality, or even relating to other distributions). Such guides may lead them to recompile the kernel which in turns can create all sorts of other problems. Some users may see this as an interesting learning adventure but for most it will simply spoil their experience and affect Ubuntu's reputation.
Ubuntu users should simply be educated that there exist only 2 types of hardware: supported and unsupported. If this distinction is clear, they will know what to expect in advance and orient their hardware purchases accordingly. Moreover, the certification program, will create an incentive for hardware manufacturers to have a friendlier attitude.
A hardware panel team should be created in charge of deciding the rating of each component/system.
The panel should follow some clear, predetermined criteria when assigning their rating. The judgement should be based on tests performed on donated hardware or alternatively on confirmed bugs/reports or using automatic client-side hardware probing software.
The HardwareSupport wiki is an excellent starting point. The main issues at the moment are: It does not have an official feeling to it. The distinction between "supported" and "works" is confusing and potentially creates grey areas. While some components are listed within a table, others (motherboards) have dedicated pages with comments instead of a clear rating, again creating grey areas. It is somewhat difficult to find (some users simply do not know about it). The tables are not always consistent, and while the rationale behind it is appreciated, this is nevertheless confusing. Notably, sometimes you have "supported" others "auto-detected".
Ideally, the wiki could be slightly modified to be as simple as possible so that each component list is a clear table with only 3 columns:
|Manufacturer | Model | Status|
Where the Status can only be one of the ratings below. Any extra information should be in a linked page specific for the component and contain: driver(s), status in older Ubuntu versions, detailed explanation, test results, timestamp, link to related bugs... The pages of pre-configured systems should be similar to the component ones but also include a list of related components. All the sections should only be edited by the hardware panel.
It is quite likely that such a site will soon become difficult to maintain in a wiki and in the future it might be appropriate to move it to a dedicated CMS website customized for the purpose. This will also give the opportunity to enhance some functionality, so that the website can be used not only to look for known hardware but also to obtain hardware recommendations. It should be possible for instance to rank components/systems/manufacturers, a useful and stimulating feature... Search capability could be enhanced by providing a lateral navigation bar containing the entries now in the main HardwareSupport page, as well as quick search, and a quick link dropdown list of manufacturers. Additional interactive sections could be added to the component/system pages with features such as: submit a bug (to launchpad), user comments, popularity contest, tips/how-to wiki... It would even be feasible to have a list of suggested retailers, provided they meet some criteria, like selling pre-installed Ubuntu machines... The visibility of components that have "opened up" could be highlighted within a news section... The website could therefore become a centralized resource for all hardware related issues and create a strong incentive for manufacturers and retailers, but it is essential that the main focus remains on the official list.
In any case there should be a prominent link to the list in the Ubuntu home page, both to confer an official feeling to the list and to make it easily accessible.
As mentioned it is essential to clearly distinguish between supported and unsupported hardware. It is still possible to use subcategories for supported hardware, but the basic rule is that the lowest supported subcategory should always guarantee a satisfactory user experience, anything less should simply be flagged as fully unsupported. Unsupported hardware should never include subcategories, since those would qualify as grey areas. Hardware whose compatibility is unconfirmed should also be included in the unsupported category.
Suggested ratings for components:
Red: Not supported
Yellow: Supported but with some (minor) missing functionality and/or proprietary drivers are required
Green: Fully supported out of the box with open source drivers
Hardware that requires manual intervention and/or with limited capabilities should simply be included in the non-supported category. On this list even yellow hardware should guarantee a more than satisfactory experience, anything less should be classified as non-supported.
Suggested ratings for pre-configured systems:
Red: Not supported
Yellow: All or most components are yellow and/or some less relevant components are red and/or there are some minor bugs
Green: All or most components are green, some less relevant components may be yellow, and there are no known bugs
Again, the basic rule applies: even yellow systems should guarantee a good overall user experience, anything less should be classified as red. Some manufacturers can give the option of choosing one of several components. In this case it is assumed that the best component is used, there will be a footnote explaining it and more detailed information will be provided in the system page.
Certified by Ubuntu
There should also be a distinction between products where the community autonomously established the level of compatibility and products where the manufacturers underwent a proper certification procedure with Ubuntu/Canonical or other recognized bodies. A red/yellow/green circle should be used in the first case, while a yellow/green ubuntu logo should be used in the second case. That will give an enhanced status to such products and create further incentives for the manufacturers. Certified products will be able to use the Ubuntu logo (of the appropriate color) for marketing purposes.
Hardware Information Collection
I would like to make a note that Martin Owens (firstname.lastname@example.org) is developing an application to tie information which would be available on the above potential website into the Ubuntu hardware detection system. nicknamed Dohickey please send email request for more information.
This program now has a new home at http://dohickey.sourceforge.net Feel free to check it out
Cooperation with other distributions
Clearly other distributions will face similar issues and there is scope for cooperation, ideally there should be a standardisation of the underlying data formats, of probing procedures, of rating categories and criteria, and of the certification process. In particular once a product changes its support status, other distributions should be notified, since the changes might be applicable. Some underlying functionality can be moved into launchpad.
BoF agenda and discussion
This spec should definitely be tagged as essential. The Rationale is very pertinent and the ideas for the solution are very well thought out.
Some ideas: the website should be called hardware.ubuntu.com (packages.ubuntu.com -> software / hardware.ubuntu.com -> hardware - easy to remember), and be given a tab on the ubuntu website (a "Hardware Support" tab among "Ubuntu", "Community", "Wiki", etc.. tabs).
Related thread on ubuntu-marketing ML (May 2006): https://lists.ubuntu.com/archives/ubuntu-marketing/2006-May/000355.html
Mark's answer to this post: "Good idea! We have a hardware certification program under development, and we are currently testing hardware from quite a few of the top manufacturers. Hopefully the barriers to Linux on the desktop are falling quickly! Mark"
There is also a Hardware Certification Program already going on: http://www.ubuntu.com/partners/certification/hardware But the results of this program (active partners, supported hardware) doesn't seem to be exposed anywhere on the ubuntu website (does it ?).
(comment by thieummm)