The K-Zone: Running Linux on the Toshiba Tecra M1

Overview

The Toshiba Tecra M1 is a reasonably highly-specified laptop, with a good set of features and facilities. Like many modern laptops, it suffers somewhat as a result of the `Designed for Windows XP' mentality of its manufacturers. Consequently, it is not an ideal machine for running Linux, particularly compared with most Dell laptops, for example. If I were buying a laptop to run Linux on, the Tecra M1 would not be at the top of my list. Nevertheless, with a bit of fiddling around, most of the M1's components can be made to work with Linux to an extent that won't have you tearing out your hair.

Hardware

Here is a list of the hardware fitted in the M1.

Installation

I started with a RedHat 9 distribution, but it was necessary after installation to install a later kernel to get the wireless networking to work. So, if you're installing a packaged distribution, make sure you elect to install the C compiler and other development tools so that you can rebuild the kernel later. I think that the basic RedHat 9 installation would have been fine for everything except the built-in wireless ethernet adapter.

Because the video hardware is wrongly detected by the RedHat installer, it's easiest to run the installer in text mode (enter linux text at the installer boot prompt). Apart from this, the RedHat installation was unproblematic.

Kernel

You'll need kernel 2.4.23 or later to use the experimental driver for the wireless ethernet adapter. If you're using a stock kernel from kernel.org, don't forget to enable support for `generic IDE DMA chipset', or you won't get DMA on your hard disk.

Wireless ethernet

There is no support for the Intel 2100 wireless unit in the stock kernel. However, it turns out that there is an experimental driver under development at ipw.sourceforge.net. Don't fall into the trap of forgetting that the wireless transmitter has an on-off switch on the front of the case! I spent several hours fiddling around with the driver before I realized that the hardware was switched off. In unencrypted mode, the driver sort-of works. That is, you can communicate for a while, then it slows right down. Reloading the driver sometimes helps. I noticed the same behaviour in Windows XP as well, so this may be a BIOS/hardware problem, and not the fault of the driver. I could not get it to work at all in WEP mode. In reality, with wireless ethernet PCMCIA cards selling for about 20 quid, it's hardly worth worrying too much about. In any case, the built-in unit only supports 802.11b, which is rapidly becoming obsolete.

Video adapter

The video adapter is support (sort of) by the trident driver in XFree86 4.3.0. The trick is to specify the option ShadowFB in the device section of XF86Config:
Option	    "ShadowFB" "true"
Even then, the display sometimes appears as if zooming in to the top-left corner. Pressing the Fn+F5 key combination (which switches the video output device) a few times usually fixes it.

The enduring problem is that there doesn't seem to be any accelaration support, which will be a show-stopper for many people. Neither the xv extension or hardware direct rendering (dri) work. The former is usually necessary for playing video, because it speeds up the process of scaling bitmaps to fit the display. The latter is necessary for most games. It is possible to play DVD movies on the M1 under Linux, and the display quality isn't too bad; but if you try to play a video which is recorded in VHS quality (usually 356x288 pixels), you'll really notice the problem if you try to scale it to full screen. The lack of acceleration even seems to be apparent when, for example, dragging windows around on the screen. It isn't a problem, but it's noticeable.

Sound

Sound has proven to be almost as big a problem as video. The hardware is supported, to the extent that it is supported at all, by the i810_audio driver. However, it only accepts a limited range of sample rates. This means that software which plays audio, but lacks the ability to resample to an accepted sample rate, will produce very poor quality, broken sound. This affects me because my digital camera records movies with sound sampled at 8000 samples per second. Movies players like xine are unable to play these movies, because they don't seem to be able to resample properly. mplayer can be made to work, by doing the sound output through the SDL plugin. Presumably, the SDL layer takes care of resample. So I can play movies like this: mplayer -vo x11 -ao sdl {filename}

Power management

I'm happy to report that the M1 BIOS seems to offer proper APM support. APM is becoming increasing uncommon on new machines, which are tending to support ACPI instead. If you've read my other laptop articles, you'll be aware of how much more difficult it still is to get ACPI set up under Linux that good old APM. On the M1, fan control seems to work properly, and there doesn't seem to be any obvious overheating even under full load. Suspend and resume also work, although if you suspend with X running, the display tends to come back distorted. A couple of presses of Fn+F5 seems to fix it.
©1994-2006 Kevin Boone, all rights reserved