Installing Redhat Linux 9 on a Toshiba Satellite 1130

 ==> Revision History
   [April 14, 2003] : Initial release.
   [June 19, 2003]  : Added instructions for suspend/standby.
   [July 19, 2004]  : Added information about the modem and corrected
                      DMA section.
 ==> Author
   Sam Tregar <sam@tregar.com>

Introduction

The Toshiba Satellite 1130 is Toshiba's current low-end laptop. The price is right and it has plenty of power for Linux. The model I received (from my employer) came with a 2Ghz Celeron processor, 512MB of ram and a 40GB hard drive. It also has built-in Ethernet, a CDRW/DVD-ROM drive and a sound chip. It's a pretty heavy laptop at about 7lbs but it has a large (15``), bright LCD screen capable of display 1024x768.

You can find the full specs on Toshiba's site here:

  http://cdgenp01.csd.toshiba.com/content/product/pdf_files/detailed_specs/satellite_1130S155.pdf

General Notes

You can skip this section if you're only interested in getting the machine working. But if you're considering whether or not to purchase this laptop, read on for my warnings.

Redhat 9

Redhat 9 is probably the only existing version of Redhat worth installing on this machine. That's because the graphics chip (an Intel 852GM) is a new one and support was added in XFree86 4.3, which is included in Redhat 9 but not in any earlier release. I'm sure it would be possible to bootstrap an older Redhat install in text mode and then upgrade XFree86 but that's more pain than I'm willing to endure.

Anaconda

Anaconda, the Redhat install program, worked fine on the laptop. I did a full install which took around 2 hours to install almost 5GB of software. After rebooting I signed up for the Redhat Network, updated to the latest RPMs and logged into a fully working desktop. The video, ethernet, sound and CD drive were all setup correctly.

Hard Drive Performance

I'm no expert on Linux performance, but one thing I do know is that getting your hard drive setup for DMA access is critical. Before I did so on this laptop heavy hard drive usage (like untarring a kernel, for example) would cause X to stutter.

WARNING: Using hdparm can damage your hard drive and/or cause you to lose data. You should read the hdparm man-page before making any changes.

NOTE: The following steps will not work with the stock Redhat kernel. You must compile your own kernel and be sure to turn on the IDE DMA options. Be sure to use the source from http://kernel.org since the Redhat kernel source won't work no matter how you compile it.

Before tuning, I used hdparm to run a benchmark:

  # /sbin/hdparm -tT /dev/hda
   /dev/hda:
   Timing buffer-cache reads:   128 MB in  0.32 seconds =400.00 MB/sec
   Timing buffered disk reads:  64 MB in 23.34 seconds =  2.74 MB/sec

That last line is the killer - 2.74 MB/sec is very slow for a modern machine. After a few rounds of trial and error I arrived at this command to setup the drive for maximum performance:

  # /sbin/hdparm -c1 -d1 -X udma5 /dev/hda

After the change, I get the following much results:

  # /sbin/hdparm -tT /dev/hda
   /dev/hda:
   Timing buffer-cache reads:   128 MB in  0.31 seconds =412.90 MB/sec
   Timing buffered disk reads:  64 MB in  3.21 seconds = 19.94 MB/sec

That's nearly a 1000% improvement in read throughput! Now I can do heavy disk operations and use X at the same time with no hiccups. To make it permanent I added these lines to the end of /etc/rc.d/rc.local:

   echo "Setting up DMA for /dev/hda..."
   /sbin/hdparm -c1 -d1 -X udma5 /dev/hda

Enabling DRI and Xv

Another problem I solved with this laptop concerns the X extensions DRI and Xv. DRI stands for direct rendering interface and it provides X clients with a way to access the hardware directly for fast drawing. Xv offers clients a high-level interface to the hardware's underlying video display features. Out of the box neither of these extensions are working for the 852GM chip.

To get them working I had to compile a new agpgart module as well as the i830 module from the XFree86 CVS tree. You can get details on how to do this from the same place I did on a page maintained by David Dawes:

  http://www.xfree86.org/~dawes/845driver.html

This is a good page to visit even if you don't need DRI or Xv. It contains general information about the i810 driver used to run X on this laptop.

After following his instructions I was able to run Xine with much improved results. Before enabling DRI and Xv the picture quality was low with lots of tearing and skipped frames; afterward I was running at the full DVD frame-rate with no visible problems.

Battery Monitor

Out of the box neither ACPI isn't work on this laptop, which means the battery monitor in Gnome is nonfunctional. To get it working I patched my kernel with the latest code from the ACPI project:

  http://sourceforge.net/project/showfiles.php?group_id=36832

Since I'm using 2.4.20, I applied this patch:

  http://prdownloads.sourceforge.net/acpi/acpi-20021212-2.4.20.diff.gz?download

Note that after patching you have to rerun 'make xconfig' as there are new options to play with under ``General Setup/ACPI''. I configured ACPI statically and turned on all the options.

After booting my new kernel the Gnome battery monitor is working.

Suspend

For quite a while I thought suspend wasn't possible on this laptop. Eli Naeher wrote in to set me straight. Amazingly, this works with the default Redhat kernel (and any other compiled with APM and without ACPI):

  apm --suspend

This puts your machine to sleep and you can wake it up again by pressing the power button. Presumably the laptop uses very little battery power in this mode, although I haven't tested it. This isn't quite as cool as hibernate, which works under Windows and saves the machine state to disk, but it's still very useful.

Note that you cannot have ACPI and APM working at the same time. According to the ACPI HOWTO, ``if ACPI support is found at run-time, APM support will be turned off automatically in the running kernel.'' This means that you'll have to choose between a working battery monitor and suspend.

If you're dying for hibernate functionality, Bartek Protas pointed me towards this project:

   http://sourceforge.net/projects/swsusp

He tells me it's not 100% reliable, but that development is under way.

Modem

I've never needed to use the modem on this laptop, but Do Hoang Son wrote to tell me that the slmdm-2.7.14 driver works. You can find information here:

   http://linmodems.technion.ac.il/resources.html