Though laptops and notebooks are different from desktops, there is currently no Linux distribution with a dedicated laptop and notebook support. This proposal provides an outline of such a project for Debian .
Back to Debian/GNU Linux and Knoppix for Laptops, Notebooks, PDAs, Mobile Phones, Portable Players, ...
Writing the Linux Mobile Guide - Installing, Maintaining and Tuning of Linux on Mobile Computers, I noticed there is no Linux distribution dedicated to the needs of laptop and notebook users available. Since Debian/GNU Linux(http://www.debian.org) is my favorite distribution I started to collect information about laptop and notebook related Debian packages. Though this text reflects my personal thoughts only. It's not an official Debian document. I'm following two objectives:
Desktops and laptops are different. Usually:
Therefore Debian support for laptops should contain:
Kernel support should consist of two parts: laptop devices and optimization.
The following devices should be considered: PCMCIA, USB, IrDA, (Video In and Out), Sound, APM, Framebuffer, GGI. Also support for certain laptop models should be included, e.g. Thinkpad, Toshiba. And different network configurations, e.g. Mobile IP, DHCP can be supported.
Usually for every new graphics card there has to be a Linux X server developed. Framebuffer is kind of 'generic' graphics card support, at least if the card manufacturers follow the VESA VBE standard.
Framebuffer devices could use the hardware better, they avoid the current video memory mapping 'concept'. Please see Framebuffer-HOWTO(http://www.tldp.org/HOWTO/) for detailed arguments.
GGI "is a complete rewrite of the Linux console subsystem that gives the standard Linux Virtual Consoles (VCs) pixel-graphics drawing and display capabilities, an enhanced and flexible message-based console IO subsystem, and a suite of GGI-native userspace libraries, platforms, APIs, utilities and applications." GGI Project(http://www.ggi-project.org)
Similar arguments as for framebuffer support. Though I'm not sure whether there is support for laptop graphics chips yet. Please read the GGI-FAQ for further arguments.
Optimization could be done in size, speed and flexibility. Therefore a kernel should be build as modularized as possible, which seems Debian standard already (though I didn't check Debian-Policy yet). And CPU dependent compile flags should be used for certain processor architectures e.g. Pentium, Pentium-M, single-core, multi-core.
Since there are so many kernel options related to laptops and so much different machines and user profiles around, I think no distribution can satisfy every laptop user. As a laptop user you should love to build your custom anyway.
Debian support for laptops can be done as a suggested 'metapackage'. Metapackages are a new feature of Debian. They are "packages that depend on a group of packages that relate to a common activity, like playing games or developing C programs." Therefore it might better not to call such a project a 'distribution'.
The tasksel(http://packages.debian.org/tasksel) package contains a "laptop" entry already:
Task: laptop Section: hware Description: Laptop This is a collection of tools that laptop users will expect to find on a system. It includes some special utilities for IBM Thinkpad, Sony Vaio, Toshiba, and Dell Inspiron laptops. Key: apmd pcmcia-cs Packages: # XXX What about acpi? anacron guessnet irda-tools irda-common noflushd wireless-tools bluez-utils hdparm smartmontools # Hardware-specific # for toshiba: toshset # for thinkpads: tpb mwavem # Note that this needs a kernel module, and prebuild modules are not # currenlty available. thinkpad-base tpctl # vaio sjog # Left out until there is less assembly required. #vaiostat
Optimizations could be done in speed , file size and memory usage.
Better speed could be achieved by compiling the packages with compiler flags according to the CPU, e.g. Pentium. This topic is already discussed controversely at the debian-devel mailing list (e.g. 07/99 subject: Pentium Optimized). I dare to quote Anderson MacKay:
"... be aware that Pentium optimizations only make a big, noticeable difference for the original and MMX Intel Pentium (not PPro, not P2, not P3, not K6, etc.) processors. The big speedup is because the compiler/assembler reschedules integer instructions so that they can execute in parallel inside the Pentium's two integer pipelines (which have rather primitive inter-pipeline conflict/dependency resolution hardware). Most CPUs since then (Cyrix 6x86MX/M2, AMD K6-series, and Intel P6-series including PPro, P2, P3, and Celeron) have better conflict and dependency analysis/resolution hardware (or can execute out-of-order), and don't gain much from Pentium-specific optimizations. In fact, most other CPUs run better with plain old i386 or i486 code than they do with Pentium-optimized code. That said, Pentium optimizations *should* really help out owners of the genuine Intel Pentium (and MMX) processors..."
Available in Potato is a script pentium-builder, which may help recompiling. But I didn't check things like apt-get -b source <packagename> to rebuild a pentium-optimized package, yet. Another method to compile an optimized package could be the use of the build daemon buildd. Quotation from Debian Developer's Reference - Chapter 8 - Porting and Being Ported:
"The buildd system is used as a distributed, client-server build distribution system. It is usually used in conjunction with auto-builders, which are ``slave'' hosts which simply check out and attempt to auto-build packages which need to be ported. There is also an email interface to the system, which allows porters to ``check out'' a source package (usually one which cannot yet be autobuilt) and work on it.
buildd is not yet available as a package; however, most porting efforts are either using it currently or planning to use it in the near future. It collects a number of as yet unpackaged components which are currently very useful and in use continually, such as andrea, sbuild and wanna-build.
...
We are very excited about this system, since it potentially has so many uses. Independent development groups can use the system for different sub-flavors of Debian, which may or may not really be of general interest (for instance, a flavor of Debian built with gcc bounds checking). It will also enable Debian to recompile entire distributions quickly."
Maybe it's not necessary to recompile every package, but some like X, Gnome, Gimp, etc.
You may find the thread 'package compilation madness' started by Drew Parsons in the February 2000 archiv of <debian-laptop@lists.debian.org> useful. It contains some caveats and their solutions.
The topic was mentioned different times in Debian Weekly News - DWN:
CPU optimized Debian builds? Every once in a while, the [29](http://lists.debian.org/debian-devel-0205/msg02210.html)question
pops up why Debian does not support pentium-optimised or
athlon-optimised binaries for that particular processor. However, as
Michael Stone [30](http://lists.debian.org/debian-devel-0205/msg02220.html)points out nobody did some research to [31](http://lists.debian.org/debian-devel-0205/msg02237.html)back up
the idea of things running significantly faster. Daniel Burrows also
[32](http://lists.debian.org/debian-devel-0205/msg02258.html)noted that we don't provide an optimised glibc due to unforseen
bugs with its optimisation.
Custom Compilation on a Laptop? Johannes Graumann [48](http://lists.debian.org/debian-laptop-0306/msg00306.html) wondered if custom compiling of packages would be better suited for machines with limited resources like a laptop. Russell Coker [49](http://lists.debian.org/debian-laptop-0306/msg00309.html) explained that the resources to compile a package are vastly greater than those required to just install a binary Debian package.
Benchmarking Debian's Performance. Indranath Neogy tried to [35](http://articles.linmagau.org/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=227&page=1) explained that the discover what kind of gains the source based nature of Gentoo might give it over Debian and Mandrake. The tests included timing how long it took to open a large sheet in Gnumeric, how long to compile the Linux kernel and how long to perform various operations in GIMP. Gentoo was expected to lead in the tests, but the results showed no significant variation between the distributions. Simple recompiling doesn't seem to speed things up, fine grained tuning may.
The package dbuild(http://packages.debian.org/dbuild) will take one or more Debian source packages and build the corresponding binary packages. This can, in theory, be used to build the whole distribution from sources.
Smaller package size can be achieved by stripping the binaries. This is Debian standard already.
Instead of CPU optimized compilations it's maybe better to improve memory allocation, to avoid swapping. These techniques include the usage of small and shared libraries. Or usage of one file instead of many C files.
In some cases laptops need certain installation methods (via PCMCIA, without CD drive, etc.), or specific boot media (e.g. Toshiba Tecra). There is already support for this in Debian. For a survey of installation methods see the Linux Mobile Guide - Installing, Maintaining and Tuning of Linux on Mobile Computers.
Gilles Lamiral <lamiral_at_mail.dotcom.fr> wrote in his PLIP Install HOWTO:
"This HOWTO will be obsolete when every Linux distribution includes a
PLIP install option. For example, the Debian installation only needs
to add two commands to make this HOWTO obsolete (ifconfig + route). I
hope one Debian maintainer will consider this point."
With these
USB boot floppy
images you can run the installation system of Debian Woody on a system with no
floppy drives, using an external floppy/LS-120 drive attached via .
Question: "I was able to get it to boot off the floppies and start the installation, but my screen size seems to be such that I cannot see the last 4 or 5 lines at the bottom."
Answer: Try to use FrameBuffer mode, e.g. enter vga=791 at the boot prompt
or check your BIOS.
I know that wishing doesn't help much, therefore this list is meant to show what might be possible.
Since the hardware used in laptops is not always supported by Linux, it's is necessary to have some information before buying a new one. Usually the information given by the manufacturers is often not useful. Therefore it is a common custom to describe your laptops features at the WWW. Kenneth E. Harker(http://www.linux-on-laptops.com/) maintains a great database of these pages. To make this task easier I would like to have a tool, which generates such a report. Though there are numerous hardware detections programs available already. Unfortunately I couldn't find one, which is suitable for laptops.
Some suggested features:
Survey of some existing packages, there are probably more.
We shouldn't make a Debian laptop hardware detection program. But the projects I checked, didn't support certain laptop hardware detection yet. For instance, I would like to have IrDA controller, ACPI and VESA/VBE correctly detected. Of course the actual list is longer. - Therefore my intension is, to have some laptop people working together with a good hardware detection program. Personally I prefer the Mandrake - Lothar - Project (but this has to be researched). And an according Debian package should be provided (see also Debian packages hwtools(http://packages.debian.org/hwtools) and tpctl(http://packages.debian.org/tpctl)).
InterMezzo(http://inter-mezzo.org/) is a new distributed file system with a focus on high availability. InterMezzo is an Open Source project, currently on Linux (2.2 and 2.3). A primary target of our development is to provide support for flexible replication of directories, with disconnected operation and a persistent cache. For example, we want to make it easy to manage copies of home directories on multiple computers, and solve the laptop/desktop synchronization problems. On a larger scale we aim to provide replication of large file repositories, for example to support high availability for servers. InterMezzo was deeply inspired by the Coda File System, but totally re-designed and re-engineered.
apmcd(ftp://ftp.binary9.net/pub/linux/) is used to configure a set of actions to take when the discharge of the batteries reach various states. Can also be triggered by change in AC status and a change in battery status. Note: I didn't check whether this features are merged into one package (apmd eventually) already.
Many programs contain memory areas of the same content that remain undetected by the operating system. Typically, these areas contain data that have been generated on startup and remain unchanged for longer periods. With mergemem(http://www.complang.tuwien.ac.at/ulrich/mergemem/) such areas are detected and shared. The sharing is performed on the operating system level and is invisible to the user level programs. mergemem is particularily useful if you run many instances of interpreters and emulators (like Java or Prolog) that keep their code in private data areas. But also other programs can take advantage albeit to a lesser degree. Note: I didn't check whether this features are merged into the kernel already.
Though there are some solutions to protect laptops from being stolen available already (you may see my Linux-Mobile-Guide and Databases of Stolen Laptops , I find this letter from Jon Anderson <jon_at_locust.co.uk> quite interesting:
"Use the power of the laptop! I read recently that several laptops were recovered as they were running the RC5DES distributed computing client Distributed.Net(http://www.distributed.net) this exchanged http requests on a regular basis and was used to trap the thief after they went on the net with their new toy!
Perhaps a more targeted system would be if someone (maybe me if anyone is interested) could set up a host on the net and then you just add a ping to that host into your ppp-on script (dial on demand etc) with the -p option to pass data in the packet with a unique reference number. That way if the laptop is ever stolen you could enter in the unique number and get tracking information as to where the laptop was last registered as connecting to the net from etc?"
Maybe it makes sense to develop such a program for Linux.
I'm still looking for a sophisticated and payable solution. The only notebook I know, which includes a smartcard protection is the Siemens Scenic Mobile 800.
gLaptop(http://www.scs.unr.edu/~scottf/glaptop/) is a front-end for several common laptop functions. "Everything Laptop" software for GNOME. Features include:
Not yet supported:
Apmiser(http://www.sifry.com/apmiser/) is a daemon that monitors the CPU usage patterns of your laptop and automatically switches between power-saving mode (in which the CPU is underclocked) and normal mode, depending on whether it thinks you will need the extra CPU speed. This lets you leave your laptop in it's power-saving state without having to suffer from poor performance when you need to perform a CPU-intensive task. Apmiser currently only supports IBM Thinkpads via tpctl(http://packages.debian.org/tpctl), but support can be easily added for any laptop that supports switching power-saving modes programmatically.
AFAIK there is no Linux program to update firmware (BIOS, PCMCIA). Though I have heard there have been some efforts.
The below mentioned list of suggested packages contains some packages which are not officially Debian yet. Would be nice if they could find their way into official Debian/GNU Linux.
Laptop related documentation could be provided by the Linux-Mobile-Guide (since the HOWTO is now part of the Linux Documentation Project - LDP I suppose this is available as a Debian package already, I have applied as a Debian maintainer anyway) and a Debian Laptop FAQ. Laptop related installation methods are already part of the installation docs.
Laptop friendly config settings, e.g. cron.daily should only run disk intensive jobs when the laptop is connected to mains.
Though this proposal has got a good response already. I would like to have some more promotion.
If you like to contribute a package please read the according documentation (Developers Reference and others). Apply as a Debian maintainer and announce your project at the according Debian mailing list(s). You may also contact me, though it seems better to discuss all projects together. Be aware this is no official Debian project yet.
I suppose this proposal needs some discussion and I would appreciate your comments. A discussion of this topic takes place at the debian-laptop mailing list. This list is highly recommended ;-) You may subscribe at Debian/GNU Linux(http://www.debian.org) .
If you like to contribute a package please read the according documentation (Developers Reference and others). And announce your project at the according Debian mailing list(s). You may also contact me, though it seems better to discuss all projects together.
Note: My suggestions about optimization are controversial. They probably need some examination and benchmarking before going this way or not.
Though some of the thoughts outlined above, might fit for desktops as well, I will concentrate on laptops here.
Werner Heuser <wehe_at_tuxmobil.org>
Other Debian projects related to mobile computing:
Debian offers a `debian-laptop`(http://lists.debian.org/) mailing list. And on IRCnet you may find the #debian-laptop channel.
Currently I have information about Intel based i386 packages only. My apologies to
users of other CPUs. Please let me know if there are Debian packages which work
on other portable computers, too.
But you may search the build logs(http://buildd.debian.org/build.php) for
the availability of packages for other architectures.
For Apple iBook you may especially look up the
Branden Robinson
page.
Though my suggestions might seem eclectic, I hope
they are useful to show the scope of packages which are related to laptops and notebooks in different
senses. Unofficial packages not included into Debian yet are marked with an asterisk.
| Program | Description | project page |
|---|---|---|
Kernel |
||
| Kernel-2.4.x | IrDA, PCMCIA, (USB), (Framebuffer), (Mobile IP) | TuxMobil |
| pcmcia-cs(http://packages.debian.org/pcmcia-cs) | PCMCIA Card Services | for Kernel <2.4 only |
| pcmciautils(http://packages.debian.org/pcmciautils) | PCMCIA utilities for Linux 2.6 | |
| hotplug(http://packages.debian.org/hotplug) | Linux Hotplug Scripts | |
| hotplug-utils(http://packages.debian.org/hotplug-utils) | Linux Hotplug utility programs | |
| murasaki(http://packages.debian.org/murasaki) | automatically loads and unloads modules for USB, CardBus, network, etc using "Hotplug" in Linux 2.4 - deprecated | |
| prelink(http://packages.debian.org/prelink) | prelinking utility to speed up dynamic linking | |
Internal Modem |
||
| sl-modem(http://debian.isg.ee.ethz.ch/public/) | Driver for SmartLink Win-Modem (backport) | |
| sl-modem-daemon(http://packages.debian.org/sl-modem-daemon) | sl modem daemon | |
| mwavem(http://packages.debian.org/mwavem) | Mwave/ACP modem support | |
Input Devices |
||
| gpm(http://packages.debian.org/gpm) | General Purpose Mouse Manager (versions >= 1.18 contain Synaptics touchpad support) | |
| qsynaptics(http://packages.debian.org/qsynaptics) | Qt application to configure Synaptic TouchPad | |
| ksynaptics(http://packages.debian.org/ksynaptics) | KDE application to configure Synaptics TouchPad | |
| gsynaptics(http://packages.debian.org/gsynaptics) | configuration tool for Synaptics touchpad driver of X server | |
| xfree86-driver-synaptics(http://packages.debian.org/xfree86-driver-synaptics) | X11 (X.Org/XFree86) driver for the Synaptics touchpad | |
| cpad-kernel-source(http://packages.debian.org/cpad-kernel-source) | source for the Synaptics cPad driver | |
| xmonobut(http://packages.debian.org/xmonobut) | simple X11 application that modifys mouse button mapping | |
| rsjog(http://packages.debian.org/rsjog) | handler for Sony Vaio "Jog Dial" | |
| vaiostat-source(http://packages.debian.org/vaiostat-source) | Sony Vaio status and control kernel module (source) | |
| motioneye(http://packages.debian.org/motioneye) | PPM/JPG snapshots or MJPEG compressed video on Sony Vaio laptops | |
| sjog(http://packages.debian.org/sjog) | program to use the "Jog Dial" on Sony Vaio Laptops | |
| spicctrl(http://packages.debian.org/spicctrl) | Sony Vaio controller program to set LCD backlight brightness | |
IrDA |
||
| irda-utils(http://packages.debian.org/irda-utils) | utilities to use kernel IrDA support (former packages irda-tools, irda-common) | Linux IrDA Project(http://irda.sourceforge.net/) |
| openobex-apps(http://packages.debian.org/openobex-apps) | Object Exchange Protocol apps | |
| obexserver(http://packages.debian.org/obexserver) | Receive files with OBEX protocol | |
| qobex(http://packages.debian.org/qobex) | swiss army knife for the OBject EXchange (obex) protocol | |
| cobex(http://packages.debian.org/cobex) | connector for mobile devices | |
| obexfs(http://packages.debian.org/obexfs) | Mount filesystem of ObexFTP capable devices | |
| ircp(http://packages.debian.org/ircp) | utility for *beaming* files via IrDA | |
BlueTooth |
||
| bluez-sdp(http://packages.debian.org/bluez-sdp) | BlueZ Bluetooth SDP daemon and tool | |
| bluez-pcmcia(http://packages.debian.org/bluez-pcmcia) | PCMCIA support files for BlueZ 2.0 Bluetooth tools | |
| bluez-utils(http://packages.debian.org/bluez-utils) | utilities for controlling Bluetooth devices | |
| bluez-pan(http://packages.debian.org/bluez-pan) | personal area networking for Bluetooth devices | |
| bluez-pin(http://packages.debian.org/bluez-pin) | Bluetooth PIN helper with D-BUS support | |
| affix(http://packages.debian.org/affix) | User space utilities for the Affix Bluetooth protocol stack | |
| bluemon(http://packages.debian.org/bluemon) | activate or deactivate programs based on bluetooth link quality | |
WireLess |
||
| wireless-tools(http://packages.debian.org/wireless-tools) | tools for manipulating Linux Wireless Extensions | |
| wpasupplicant(http://packages.debian.org/wpasupplicant) | client support for WPA and WPA2 (IEEE 802.11i) | |
| kwlan(http://packages.debian.org/kwlan) | WPA-supplicant frontend for KDE | |
| wpagui(http://packages.debian.org/wpagui) | GUI for wpa_supplicant | |
| xsupplicant(http://packages.debian.org/xsupplicant) | 802.1x and 802.11i supplicant (client) | |
| linux-wlan-ng(http://packages.debian.org/linux-wlan-ng) | utilities for wireless prism2 cards | |
| kwirelessmonitor(http://packages.debian.org/kwirelessmonitor) | wireless interface monitor for KDE systray | |
| antennavis(http://packages.debian.org/antennavis) | antenna visualisation software | |
| wmwave(http://packages.debian.org/wmwave) | monitor status of an 802.11 wireless ethernet link | |
| kwavecontrol(http://packages.debian.org/kwavecontrol) | wireless device monitoring application for KDE | |
| wavemon(http://packages.debian.org/wavemon) | Wireless Device Monitoring Application | |
| kwifimanager(http://packages.debian.org/kwifimanager) | KDE Wireless Lan Manager | |
| gkrellmwireless(http://packages.debian.org/gkrellmwireless) | 802.11 wireless link monitor plugin for GKrellM | |
| hostapd(http://packages.debian.org/hostapd) | user space IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator | |
Wireless Sniffing |
||
| kismet(http://packages.debian.org/kismet) | wireless 802.11b monitoring tool | |
| prismstumbler(http://packages.debian.org/prismstumbler) | wireless network sniffer | |
| aircrack(http://packages.debian.org/aircrack) | wireless WEP cracker | |
| aircrack-ng(http://packages.debian.org/aircrack-ng) | Wireless WEP/WPA cracking utilities | |
| airsnort(http://packages.debian.org/airsnort) | WLAN sniffer | |
| swscanner(http://packages.debian.org/swscanner) | simple wireless scanner | |
| wifi-radar(http://packages.debian.org/wifi-radar) | Graphical utility for managing Wi-Fi profiles | |
| weplab(http://packages.debian.org/weplab) | Tool designed to break WEP keys. | |
Mobile AdHoc Networking - MANET |
||
| olsrd(http://packages.debian.org/olsrd) | Optimised link-state routing daemon (unik-olsrd) | |
| mobilemesh(http://packages.debian.org/mobilemesh) | mobile adhoc networking | |
| waproamd(http://packages.debian.org/waproamd) | WLAN roaming daemon | obsolet, use wpasupplicant(http://www.vollink.com/gary/deb_wifi.html) |
WireLess LAN Drivers |
||
| acx100-source(http://packages.debian.org/acx100-source) | ACX100/ACX111 wireless network drivers source | |
| atmel-firmware(http://packages.debian.org/atmel-firmware) | firmware for Atmel at76c50x wireless networking chips | |
| wmaloader(http://packages.debian.org/wmaloader) | firmware downloader for Linksys WMA11B media adapter | |
| ipw2100-source(http://packages.debian.org/ipw2100-source) | source for the ipw2100 driver | |
| ipw2200-source(http://packages.debian.org/ipw2200-source) | source for the ipw2200 driver | |
| firmware-iwlwifi(http://packages.debian.org/firmware-iwlwifi) | Binary firmware for Intel Wireless | Intel 4965 WiFi on Debian HOWTO(http://www.nanonanonano.net/linux/debian/iwlwifi) |
| ndiswrapper(http://packages.debian.org/ndiswrapper) | userspace utilities for ndiswrapper | |
| ndiswrapper-source(http://packages.debian.org/ndiswrapper-source) | source for the ndiswrapper linux kernel module | |
| ndiswrapper-intel2100b(http://packages.debian.org/ndiswrapper-intel2100b) | installer for the Intel PRO/Wireless Lan 2100b drivers | |
| ndiswrapper-utils(http://packages.debian.org/ndiswrapper-utils) | userspace utilities for ndiswrapper | |
| linux-wlan-ng(http://packages.debian.org/linux-wlan-ng) | utilities for wireless prism2 cards | |
| madwifi(http://debian.isg.ee.ethz.ch/public/) | Driver for Atheros Wireless Cards | |
| hostap-source(http://packages.debian.org/hostap-source) | software access point driver for Prism2 based 802.11 | |
| hostap-utils(http://packages.debian.org/hostap-utils) | utility programs for Host AP driver for Intersil Prism2/2.5/3 | |
| ap-utils(http://packages.debian.org/ap-utils) | Access Point SNMP Utils for Linux | |
| airo-mpi(http://debian.isg.ee.ethz.ch/public/) | Driver for Cisco MPI 350 Wireless Card | |
| Orinoco wireless drivers | deb http://math.mit.edu/~pezz/debian ./ | |
| rt2500(http://packages.debian.org/rt2500) | configuration tool for wireless RT2500 network cards | |
| rt2500-source(http://packages.debian.org/rt2500-source) | RT2500 wireless network drivers source | |
| wlassistant(http://packages.debian.org/wlassistant) | user friendly KDE frontend for wireless network connection | |
| airport-utils(http://packages.debian.org/airport-utils) | configuration and management utilities for Apple AirPort base stations | |
X11 |
||
| xresprobe(http://packages.debian.org/xresprobe) | probes laptop and DDC-compliant screens for their standard resolutions | |
| videogen(http://packages.debian.org/videogen) | small but nice utility to create modelines you can insert to your XF86Config file | |
| fbset(http://packages.debian.org/fbset) | framebuffer device maintenance program | |
| xserver-fbdev(http://packages.debian.org/xserver-fbdev) | X server for framebuffer-based graphics drivers | |
| xviddetect(http://packages.debian.org/xviddetect) | detects which X server to install, by running a non-invasive PCI scan | this package is no longer available |
| xserver-svga(http://packages.debian.org/xserver-svga) | X server for SVGA graphics cards (contains NeoMagic support) XFree86 3.x | |
| XFree86 4.2 | unofficial preliminary support | |
| XFree86 4.3 | unofficial preliminary support | |
| i810switch(http://packages.debian.org/i810switch) | enables/disables video output to CRT/LCD on i810 video hardware | i810switch(http://www16.plala.or.jp/mano-a-mano/i810switch.html) |
| nvtv(http://packages.debian.org/nvtv) | tool to control TV chips on NVidia cards (TV-Out,VGA) | |
| atitvout(http://packages.debian.org/atitvout) | ATI TV out support program | |
| radeontool(http://packages.debian.org/radeontool) | utility to control ATI Radeon backlight functions on laptops | |
| 855resolution(http://packages.debian.org/855resolution) | resolution modify tool for Intel graphics chipset | |
| 915resolution(http://packages.debian.org/915resolution) | Resolution modify tool for Intel graphics chipset | |
| vbetool(http://packages.debian.org/vbetool) | run real-mode video BIOS code to alter hardware state | |
Power Management |
||
| powertop(http://packages.debian.org/powertop) | Linux tool to find out what is using power on a laptop | |
| powermgmt-base(http://packages.debian.org/powermgmt-base) | common utils and configs for power management | |
| longrun(http://packages.debian.org/longrun) | Transmeta(TM) Crusoe(TM) LongRun(TM) utility | |
| wmlongrun(http://packages.debian.org/wmlongrun) | a program to monitor longrun status | |
| cpufreqd(http://packages.debian.org/cpufreqd) | SpeedStep applet clone | |
| cpudyn(http://packages.debian.org/cpudyn) | CPU dynamic frequency control for processors with scaling | |
| powernowd(http://packages.debian.org/powernowd) | control cpu speed and voltage using 2.6 kernel interface | |
| athcool(http://packages.debian.org/athcool) | enable powersaving mode for Athlon/Duron processors | |
| laptop-mode-tools(http://packages.debian.org/laptop-mode-tools) | Userland scripts to control "laptop mode" | |
| gnome-cpufreq-applet(http://packages.debian.org/gnome-cpufreq-applet) | CPU Frequency Scaling Monitor applet for GNOME | |
| cpufrequtils(http://packages.debian.org/cpufrequtils) | utilities to deal with the cpufreq Linux kernel feature | |
| sleepd(http://packages.debian.org/sleepd) | puts a laptop to sleep during inactivity | |
| kpowersave(http://packages.debian.org/kpowersave) | frontend to powersave for setting user specific policies | |
| powersaved(http://packages.debian.org/powersaved) | power management daemon | |
| gnome-power-manager(http://packages.debian.org/gnome-power-manager) | frontend for gnome-powermanager | |
| pm-utils(http://packages.debian.org/pm-utils) | utilities and scripts for power management | |
APM |
||
| apmd(http://packages.debian.org/apmd) | utilities for Advanced Power Management (APM) (for older laptops) | apmd(http://worldvisions.ca/~apenwarr/apmd/) |
| wmapm(http://packages.debian.org/wmapm) | an APM display program designed for Windowmaker | |
| lphdisk(http://packages.debian.org/lphdisk) | utility for preparing a hibernation partition for APM Suspend-To-Disk | Patrick D. Ashmore(http://www.procyon.com/~pda/lphdisk/) |
ACPI |
||
| acpid(http://packages.debian.org/acpid) | supports the Advanced Configuration and Power Interface (ACPI) | acpid(http://acpi.sourceforge.net/) |
| acpi(http://packages.debian.org/acpi) | displays information on ACPI devices | |
| acpidump(http://packages.debian.org/acpidump) | utilities to dump system's ACPI tables to an ASCII file | |
| acpitool(http://packages.debian.org/acpitool) | a small, convenient command-line ACPI client | |
| acpi-support(http://packages.debian.org/acpi-support) | collection of useful events for ACPI | |
| yacpi(http://packages.debian.org/yacpi) | ncurses based ACPI monitor for text mode | |
| iasl(http://packages.debian.org/iasl) | Intel ASL compiler/decompiler | |
| hibernate(http://packages.debian.org/hibernate) | activates your computer's suspend functionality | |
| suspend2-userui(http://packages.debian.org/suspend2-userui) | user-space interfaces for software suspend2 | |
| uswsusp(http://packages.debian.org/uswsusp) | Tools to use userspace software suspend provided by Linux. | |
Cron Jobs |
||
| fcron(http://packages.debian.org/fcron) | cron-like scheduler with extended capabilities well suited to use on laptops | |
| anacron(http://packages.debian.org/anacron) | a cron-like program that doesn't go by time | |
Hard Disk |
||
| noflushd(http://packages.debian.org/noflushd) | noflushd monitors disk activity and spins down disks that have been idle for more than <timeout> seconds | noflushd(http://noflushd.sourceforge.net/), requires kernel >=2.2.11 |
| hdparm(http://packages.debian.org/hdparm) | tune hard disk parameters for high performance | |
| hdaps-utils(http://packages.debian.org/hdaps-utils) | HDAPS (IBM Hard Drive Active Protection System) utilities | |
Battery Management |
||
| battfink(http://packages.debian.org/battfink) | GNOME power management configuration | |
| klaptopdaemon(http://packages.debian.org/klaptopdaemon) | battery monitoring and management for laptops | |
| battstat-applet(http://packages.debian.org/battstat-applet) | battery status applet for GNOME | |
| battery-stats(http://packages.debian.org/battery-stats) | provides battery statistics and a simple graph | battery-stats(http://www.karl.jorgensen.com/battery-stats) |
| gkrellm-x86info(http://packages.debian.org/gkrellm-x86info) | gkrellm plugin displaying the current processor speed | |
| wmbattery(http://packages.debian.org/wmbattery) | displays laptop battery info, dockable in Windowmaker | |
| wmacpi(http://packages.debian.org/wmacpi) | an ACPI battery monitor for WindowMaker | |
| xfce4-battery-plugin(http://packages.debian.org/xfce4-battery-plugin) | battery monitor plugin for the XFce4 panel | |
| ibam(http://packages.debian.org/ibam) | advanced battery monitor for laptops | |
| gkrellm-ibam(http://packages.debian.org/gkrellm-ibam) | advanced battery monitor for laptops - gkrellm plugin | |
| xapm(http://packages.debian.org/xapm) | X program to monitor APM battery status | |
| xbatt(http://packages.debian.org/xbatt) | display battery status | |
| xbattbar(http://packages.debian.org/xbattbar) | display battery status in X11 | |
Different Environments - Consistent Data |
||
| rocks(http://packages.debian.org/rocks) | make network sockets reliable in a transparent way | |
| tra(http://packages.debian.org/tra) | file-system synchronizer | |
| CODA(http://www.coda.cs.cmu.edu/) * | filesystem for mobile computers | CODA(http://www.coda.cs.cmu.edu/) |
| sitecopy(http://packages.debian.org/sitecopy) | a program for managing a WWW site via FTP | |
| rsync(http://packages.debian.org/rsync) | fast remote file copy program (like rcp) | |
| multisync(http://packages.debian.org/multisync) | program to synchronize PIM data | |
| unison(http://packages.debian.org/unison) | file-synchronization tool for Unix and Windows | |
Different Environments - Configurations |
||
| Dynamics HUT(http://www.cs.hut.fi/Research/Dynamics/) * | Mobile IP | Dynamics HUT(http://www.cs.hut.fi/Research/Dynamics/) |
| ifupdown-roaming * | extends the ifupdown package for better support to roam from one network environment to another | Thomas Hood(http://panopticon.csustan.edu/thood/ifupdown-roaming.html) |
| resolvconf(http://packages.debian.org/resolvconf) * | contains the infrastructure for sane updating of /etc/resolv.conf as interfaces go up and down and DNS caches start and stop | |
| whereami(http://packages.debian.org/whereami) | automatically reconfigure your (laptop) system for a new location | |
| divine(http://packages.debian.org/divine) | locates current network address via arp requests and performs light reconfigurations based on its findings, see also intuitively(http://packages.debian.org/intuitively) | |
| mobilemesh(http://packages.debian.org/mobilemesh) | mobile adhoc networking | |
| intuitively(http://packages.debian.org/intuitively) | select network configuration appropriate to current environment | |
| netenv(http://packages.debian.org/netenv) | at boot time, set environment variables to interactively selected values | |
| dhcpcd(http://packages.debian.org/dhcpcd) | DHCP client for automatically configuring IPv4 networking | |
| laptop-net(http://packages.debian.org/laptop-net) | continually select network configuration | |
| laptop-net-doc(http://packages.debian.org/laptop-net-doc) | automatically adapt laptop ethernet - documentation | |
| laptop-netconf(http://packages.debian.org/laptop-netconf) | network detection and configuration program | |
| switchconf(http://packages.debian.org/switchconf) | switch between system configuration sets | |
| guessnet(http://packages.debian.org/guessnet) | mapping script for ifupdown, report current network environment to ifup, allowing ifup to select network configuration appropriate to current environment | |
Virtual Private Networks/Tunneling |
||
| cipe-common(http://packages.debian.org/cipe-common) | common files for CIPE VPN software | |
| pptp-linux(http://packages.debian.org/pptp-linux) | PPTP Microsoft Compatible Tunneling Protocol | |
| tunnelv(http://packages.debian.org/tunnelv) | encrypted network connection within a TCP/IP connection | |
Specific Laptops and Notebooks |
||
| ACER TravelMate 292 | non-official packages (hotkeys, WLAN, OpenGL, ...) | Linux on ACER Travelmate 292(http://stefans.datenbruch.de/acerTM292/) |
| ASUS M2400N | non-official packages | home |
| i8kutils(http://packages.debian.org/i8kutils) | Dell Inspiron and Latitude laptop utilities | |
| gkrellm-i8k(http://packages.debian.org/gkrellm-i8k) | Dell Inspiron and Latitude module for GKrellM2 (i8krellm) | |
| toshiba-fan(http://packages.debian.org/toshiba-fan) | turn the fan on a Toshiba Pentium laptop on or off | |
| toshiba-hotkey(http://packages.debian.org/toshiba-hotkey) | display a window when changing modes on a Toshiba laptop | |
| toshset(http://packages.debian.org/toshset) | Toshiba laptop utilities | |
| toshutils(http://packages.debian.org/toshutils) | Toshiba laptop utilities | orphaned |
| thotswap(http://packages.debian.org/thotswap) | change the device in the SelectBay of a Toshiba laptop without rebooting | Tim Stadelmann (hotswap)(http://timstadelmann.de/hotswap.html) |
| fnfxd(http://packages.debian.org/fnfxd) | ACPI and hotkey daemon for Toshiba laptops. | fnfxd(http://fnfx.sourceforge.net/) |
| fnfx-client(http://packages.debian.org/fnfx-client) | Client for customize fnfxd hot-keys | |
| tpctl(http://packages.debian.org/tpctl) | ThinkPad Configuration Tools for Linux | tpctl(http://tpctl.sourceforge.net/tpctlhome.htm) |
| tpb(http://packages.debian.org/tpb) | program to use the IBM ThinkPad(tm) special keys | |
| ibm-acpi(http://debian.isg.ee.ethz.ch/public/) | IBM ThinkPad ACPI Extras Driver | |
| hdapsd(http://packages.debian.org/hdapsd) | HDAPS daemon for IBM/Lenovo ThinkPads. | |
| thinkfinger | thinkfinger: fingerprint reader configuration(http://www.rubixlinux.org/debian/thinkfinger/) | |
| tp-smapi | The harddisk protection does not work with the mainline kernel hdaps driver. Use this package from instead. | (http://debian.die-welt.net/pool/main/tp-smapi/) |
| kernel-patch-tpsmapi(http://packages.debian.org/kernel-patch-tpsmapi) | ThinkPad SMAPI BIOS patch for the Linux Kernel | |
| gaim-thinklight(http://packages.debian.org/gaim-thinklight) | Blinks your ThinkPad's ThinkLight upon new messages | |
| rocklight(http://packages.debian.org/rocklight) | Xmms visualisation plugin for Thinklights on IBM Thinkpads. | |
| pommed(http://packages.debian.org/pommed) | Apple MacBook & PowerBook hotkeys event handler | source(http://technologeek.org/projects/pommed/index.html) |
| gpomme(http://packages.debian.org/gpomme) | graphical client for pommed | |
| wmpomme(http://packages.debian.org/wmpomme) | WindowMaker dockapp client for pommed | |
| pbbuttonsd(http://packages.debian.org/pbbuttonsd) | PBButtons daemon to handle special hotkeys of Apple computers | |
| pbbuttonsd-dev(http://packages.debian.org/pbbuttonsd-dev) | Development files for PBButtons | |
| gtkpbbuttons-common(http://packages.debian.org/gtkpbbuttons-common) | GTK client for pbbuttonsd -- themes and other common data | |
| picturebook(http://packages.debian.org/picturebook) | utilities for the SONY VAIO PictureBook | |
| keytouch(http://packages.debian.org/keytouch) | Program to configure the extra function keys of multimedia keyboards. | |
| hotkey-setup(http://packages.debian.org/hotkey-setup) | auto-configures laptop hotkeys | |
| hotkeys(http://packages.debian.org/hotkeys) | A hotkeys daemon for your Internet/multimedia keyboard in X. | |
| kmilo(http://packages.debian.org/kmilo) | laptop special keys support for KDE | |
Removable Storage |
||
| pmount(http://packages.debian.org/pmount) | mount removable devices as normal user | |
| lsscsi(http://packages.debian.org/lsscsi) | list all SCSI devices (or hosts) currently on system | |
| usbmount(http://packages.debian.org/usbmount) | automatically mount and unmount USB mass storage devices | |
| mountpy(http://packages.debian.org/mountpy) | script for quick mounting of removable devices | |
Mobile Solutions |
||
| timidity(http://packages.debian.org/timidity) | a software-only MIDI sequencer, requires no hardware specific MIDI port | |
| lshw(http://packages.debian.org/lshw) | list hardware in TXT or HTML | |
| lanoche(http://packages.debian.org/lanoche) | generates a HTML report of laptop hardware (deprecated) | lanoche(software.html) |
| dgpsip(http://packages.debian.org/dgpsip) | correct GPS location with DGPS signal from internet | |
| sattrack(http://packages.debian.org/sattrack) | satellite tracker and prediction | |
| seesat5(http://packages.debian.org/seesat5) | a satellite location program | |
Smart Cards |
||
| libmusclepkcs11(http://packages.debian.org/libmusclepkcs11) | PKCS support | |
| libcflexplugin(http://packages.debian.org/libcflexplugin) | SmartCard support Schlumberger CryptoFlex | |
| libmcardplugin(http://packages.debian.org/libmcardplugin) | SmartCard support JavaCard | |
| xcardii(http://packages.debian.org/xcardii) | GUI to manage smart cards | |
| muscletools(http://packages.debian.org/muscletools) | command line tools to manage smart cards | |
Limited Resources/Optimization |
||
| pentium-builder(http://packages.debian.org/pentium-builder) | force pentium optimized compilation | |
| upx-ucl(http://packages.debian.org/upx-ucl) | an efficient live-compressor for executables | |
| perforate(http://packages.debian.org/perforate) | utilities to save disk space | |
| hdparm(http://packages.debian.org/hdparm) | tune hard disk parameters for high performance | |
| systune(http://packages.debian.org/systune) | writes kernel parameters, previously saved in a configuration file, to the /proc filesystem | |
| parted(http://packages.debian.org/parted) | allows you to create, destroy, resize and copy partitions | |
| set6x86(http://packages.debian.org/set6x86) | modify the internal configuration registers in the 5x86 and 6x86 CPU (note: causes trouble with some hardware, during boot) | |
| dbuild(http://packages.debian.org/dbuild) | take one or more Debian source packages and build the corresponding binary packages | |
| task-laptop(http://packages.debian.org/task-laptop) | meta package for laptop support - deprecated | |
| education-laptop(http://packages.debian.org/education-laptop) | metapackage containing dependencies for packages required on all laptop installations DebianEdu | |
| powertweak(http://packages.debian.org/powertweak) | a tool for tweaking Linux systems to peak performance | |
| gok(http://packages.debian.org/gok) | GNOME Onscreen Keyboard | |
| tpconfig(http://packages.debian.org/tpconfig) | A program to configure touchpad devices | |
| hotswap(http://packages.debian.org/hotswap) | register/deregister hotswappable IDE hardware | |
| hotswap-gui(http://packages.debian.org/hotswap-gui) | (de)register hotswappable IDE hardware (GUI front-ends) | |
| hotswap-text(http://packages.debian.org/hotswap-text) | (de)register hotswappable IDE hardware (command line tool) | |
| bcm4400-source(http://packages.debian.org/bcm4400-source) | module source for Broadcom's bcm4400 ethernet driver | |
Hotkeys/Extrakeys |
||
| hotkeys(http://packages.debian.org/hotkeys) | daemon for your Internet/multimedia keyboard | |
| klineakconfig(http://packages.debian.org/klineakconfig) | KDE configurator for lineakd | |
| acme(http://packages.debian.org/acme) | provides support for the multimedia keys found on laptops | |
Miscellaneous |
||
| aes2501-wy(http://packages.debian.org/aes2501-wy) | userspace software for USB aes2501 fingerprint scanner | |
| laptop-detect(http://packages.debian.org/laptop-detect) | attempt to detect a laptop | |
| xournal(http://packages.debian.org/xournal) | GTK+ Application for note taking. |
I hope I didn't forget one.