Linux on Mobile Computers
While some Linux users purchase commercial implementations of the X Window System, most people who use X-Windows with Linux choose the XFree86 implementation. XFree86 is a freely distributable implementation of the X Window System server for PCs running Unix and Unix-like operating systems. Odds are your favorite Linux distribution comes with the XFree86 X Window System server.
As anyone who has ever done it before can attest, configuring XFree86 can be quite a complex and occasionally frustrating task. Notebooks can complicate things further; while you can replace an unsupported video card in a desktop system with one known to work well with Linux, laptop owners do not have that option.
Notebooks come in all varieties and use all manner of components, including video chipsets. Some are well supported by the current XFree86 implementation, whereas others may not be supported or may offer only limited support. The Linux notebook community has both development and documentation efforts for the popular notebook video chipsets. Improvements to particular drivers can occur frequently. Acquiring up-to-date information about support for particular video chipsets is possibly the most important aspect of getting X-Windows up and running well on a notebook computer.
The most important source of information for running X-Windows on Linux notebooks is Darin Ernst's World Wide Web page X-Windows and Linux on Notebook Computers available at www.castle.net/X-notebook/index_linux.html (Figure 3). This site contains breaking news and links to numerous development efforts and their status. There are two World Wide Web pages that provide information on XFree86 support for the Chips and Technologies CT655xx series of video chipsets (the most widely used in recently-designed notebooks) as well as a mailing list for developers. Other prevalent video chipsets used in notebooks are produced by Cirrus Logic and Western Digital, and these are documented as well. Links to both these pages and many other sources of information are available from the X-Windows and Linux on Notebook Computers page.
In addition to the resources on the Web (See sidebar), several Usenet newsgroups are of interest to those wanting to run X on notebook computers. In particular, comp.os.linux.x and comp.windows.x.i386unix are the most relevant.
Many of the more recent notebooks come with integrated sound cards that are compatible with popular standards such as SoundBlaster. Many of these sound chipsets are new to the market or are reduced-size variations of chipsets used on desktop sound cards. Support for these chipsets can be found in the most recent release of the Linux sound driver. It is maintained by Hannu Savolainen at personal.eunet.fi/pp/voxware. The sound drivers are updated more frequently than most popular distributions, so checking the documentation at this site can produce pleasant surprises. But just as with desktop machines, SoundBlaster compatibility is often accomplished partly through hardware and partly through MS-DOS-based software. Therefore, you must take the same care when investigating a notebook's sound capabilities as when choosing a sound board for a desktop computer.
Networking with PCMCIA modems using SLIP or PPP is not substantially different from using a desktop machine with an internal or external modem. Simply remember to build SLIP or PPP support into the kernel you use. PCMCIA Ethernet networking is likewise similar to a desktop setup; you must have TCP/IP networking support compiled in your kernel and the appropriate PCMCIA Ethernet card device driver.
One exciting new networking project of which Linux has become a part is Mobile IP. This software supports transparent host mobility across TCP/IP networks and can be found at http://anchor.cs.binghamton.edu/~mobileip/ (Figure 4).
Almost all notebooks on the market today feature integrated pointer devices which vary in size and shape and in how they interface to the rest of the hardware. Most recently-designed notebooks have pointer devices that are PS/2 devices, so linking /dev/mouse to /dev/psaux and ensuring that support for PS/2 devices is in the kernel is all you need to do.
Some older notebooks used special controller chipsets for their pointer devices, some of which are supported in the kernel. If you have one of these older notebooks, your pointer device may or may not be supported. In any case, you can hook up a serial mouse to your serial port and use that.
Many notebooks allow the use of external keyboards or mice, frequently through an external PS/2 style port. Generally, these devices are managed through hardware and should work seamlessly with Linux. Most notebooks support external video monitors as well, and larger resolutions of external monitors can be exploited under X with properly configured XFree86 files.
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.