The Ubuntu Laptop Mission
One of the things Ubuntu is best known for is "totally rad laptop support". This spec sets the goals for our laptop support for the next release cycle.
The overall goal of "totally rad laptop support" is described in a series of specs, each covering different aspects of the goal. The relevant specs are:
Scope and Use Cases
In 2005 we want Ubuntu to have perfect support for all of the laptops currently on sale from the following manufacturers:
We define perfect support as the following:
- The installation should complete without any catastrophic failures or scary error messages.
- System diagnostic partitions should be preserved during installation, and should work after installation.
- The following items should either Just Work, or have documents in a clearly-defined location that tell users what does not work and how to enable it, if possible:
- LCD and video card autodetection and configuration;
- Network card and wifi autodetection and configuration;
- Modem detection and configuration;
- Suspend-to-RAM and suspend-to-disk;
- Bluetooth, with GUI desktop tools, and very fast or automatic setup of connections to the internet via a mobile phone and Bluetooth, Bluetooth mice, Bluetooth audio devices (headsets)
Where binary firmware and drivers are required we will ship those in restricted. Where such drivers come with nice-but-not-necessary user-space binaries those will go into multiverse and not be supported, only the core pieces needed to get the hardware working will be installed by the install CD.
For more information, see the subtopics listed above.
Initial hardware support should be practical with a limited range of hardware - see LaptopHardwareSupport. At minimum, this may be possible with one model from each manufacturer, though ideally one model per range would be available. Hardware and BIOS specifications make this process significantly easier, and so vendor support would help a great deal. HardwareCertification may help here (vendors who are interested in obtaining certification are also likely to be willing to provide sufficient information for high-quality support).
After software implementation, it is necessary to test this on as many models as possible. This may be possible through a combination of community involvement and hardware purchase. Community aid will help with breadth of support, but requires a viable test plan in order to ensure that the correct functionality is tested in the right way. The following criteria should have formal test procedures:
- It should be possible to read battery status reliably, and suspend to disk and RAM should be supported.
- All relevant hotkeys should produce events that are handled by the OS
- Bluetooth hardware should be autodetected and work correctly - it should be possible to pair the device to a phone without any command-line setup
- The modem should be autodetected, and where drivers exist it should be possible to produce a dial-up connection with the standard configuration tools
- Infra Red should Just Work(tm) - synchronization and dial-up should be possible
- Docking stations should be hot pluggable and unpluggable, and all hardware on the docking station should become visible to the OS
- Video and TV out should be controllable from the UI and/or hotkeys
- Flash readers should allow mounting of all relevant media
- Touch screens should generate input events
- The wireless radio switch should enable and disable the wireless radio
- Hard drive motion sensors should produce OS-visible information, and the hard drive should be spun down appropriately
- It should be possible to use the microphone without generating feedback
It is unlikely that any hardware will meet all of these specifications in the Breezy timeframe, but it should be possible for a user to identify whether any given feature of a supported laptop will function correctly under Ubuntu. As wide a range of feedback as possible is beneficial for two reasons:
- It provides information about more hardware
- It provides verification of reported data
The formal testing procedure should provide more reliable information about functionality. It is vital that users be able to trust the presented data. As with HardwareCertification, it should be possible to flag data that has been confirmed by a developer or other trusted contributor.
In some cases, it may be necessary to purchase hardware for testing purposes. This should be allocated to active community members and developers in order to allow faster support turnaround and to allow frequent testing to avoid regressions.
Outstanding Items and Questions
Apple laptop support? -PaulSladen
- On some laptops, extra information about the diagnostic partition is stored in the MBR, overriding this with the Grub first-stage will cause the 'Press F11' message to disappear as the BIOS hasn't detect its special signature.
- Starting points for research about BEER (Boot Engineering Extension Record) and PARTIES (Protected Area Run Time Interface Extension Services) used for OEM Pre-desktop recovery areas. HPA (Hidden/Host Protected Area) standard from the ANSI ATAPI group:
http://www.emperorlinux.com/ ships fully linux supported laptops equipped with (among other distributions) Ubuntu. They apply some custom changes to kernel and software which are released as open source. Maybe these changes can be incorporated directly into Ubuntu. The list of available laptops contains the Dell Latitude D510, X1 and D810 as well as other models from Sharp, Sony and IBM. -NikolausRath Update (2005-10-25): Apparently they only claim full support, I tested a Rhino system which doesn't work better than a plain Dell Latitude D810 with Ubuntu hoary (Rhino is based on the Latitude).
- For my part my older Toshiba Tecra 9000 needed Smartlink Modem drivers. I could find no packages for these in Hoary, so had to compile them form source. [www.smartlink.com]. If we want to support laptop modems, many of which are winmodems, we need packages for them included in Breezy, and autodetection of the modem, so the packages can be installed and configured appropriately. - Peter Enseleit