How to make Redhat 7.3 work on a Compaq Presario 2100
I wrote this page because a quick google search
returns less than one might like to know about running Linux on this laptop. One
hopes, of course, that this article will change that.
Components
Here's what my Presario 2100US came with:
- Intel Mobile Celeron 1.6Ghz
- 256MB (DDR) SDRAM
- Toshiba 30 GB cacheless hard drive
- QSI SBW-241 combo DVD/CDRW
- ATI Mobility Radeon RS200M (IGP340M)
- National Semiconductor DP83815 10/100 Ethernet
- Synaptics Touchpad w/ integrated scrollbar
- ALi 5451 PCI audio
- Conexant 56k HSF softmodem
- Parallel, serial, VGA out, TV out, 2 USB, Cardbus
I think all other Presario 2100US laptops are mostly the same as this one,
except for minor variations in memory size, CPU, and stuff like that.
Getting it all going
This page will only discuss Redhat 7.3, because it's what I use. I hope that
the advice here transfers easily to other Linux distributions.
The initial install
Redhat 7.3 will install correctly on this laptop without requiring any special
tricks. This is in contrast to some other (unnamed) laptop brands which require
a patched kernel even to boot.
Here is the kickstart file that I used for
my initial installation (root password has been changed to protect the innocent).
The following tidbits in the first screenful of that file are all you need:
- Mouse: MS Intellimouse PS/2
- X driver: VESA generic
- Hsync: 31.5-48.5
- Vsync: 50-70
- Resolution: 1024x768
The resulting Redhat installation is already minimally functional, but can be
improved in several ways as discussed in the sequel.
Compiling a kernel
If you want nice features like battery monitoring and LCD brightness control,
then you need to compile your own kernel.
I recommend downloading kernel
2.4.23, which includes ACPI
power management functionality built-in. The ACPI patch is
required for any halfway serious use of this laptop, because the
laptop does not support APM at all. If you want, you can use my kernel config file as well.
Save all the files in /usr/src, and run the following commands to
build a kernel:
cd /usr/src/
tar xjvf linux-2.4.23.tar.bz2
cd linux-2.4.23
cp ../2100us-config .config
make oldconfig dep clean rpm
If all goes well, then you'll get kernel-2.4.23-1.i386.rpm, which you can
then install (rpm --install), making sure to edit /etc/grub.conf
afterwards to add a boot entry for the new kernel.
After booting the new kernel, the LCD brightness controls (Fn-F1/Fn-F2) should
work, and the battery information will be available under /proc/acpi/battery.
GNOME users can use this patched
version of the GNOME 1.4 battstat_applet to display battery
status information in the GNOME panel.
Optimizing XFree86
There is now a patch
for XFree86 4.3.0 that enables accelerated Radeon driver support
for the IGP 340M graphics card in this laptop. The accelerated Radeon
driver is much faster than the default VESA driver included with Redhat
7.3, and I highly recommend using it.
I have built XFree86 4.3.0 against this new patch and made the rpms available for download. You can also download my
XF86Config-4 file, which uses the radeon
driver and also includes added support for USB mice.
For DVD playback, you will need to configure enough video memory in
the BIOS to allow the driver to use hardware video overlay. 32MB of
video memory is required for video overlay support in 32-bit color
mode!
3d acceleration
People who are interested in hardware accelerated 3d support should take a
look at Hui's 3d
patches against the current CVS version of XFree86. You also need to
install the kernel module which is provided on that page. I have not
personally tried any of this software, since it is quite bleeding edge and I
don't use 3d myself.
Video outputs
Both the external VGA output and the S-Video TV output work using the atitvout
program, provided that you take note of the following:
- You must run atitvout with the
-f
option to force "Rage
Mobility/Rage 3D Pro LT mode" (not Radeon/R128 mode).
- In order to use TV output, the TV must be connected to the laptop
before booting up. (This is not needed for external VGA output,
only for TV output.)
- The computer cannot simultaneously display video on both the LCD and
the TV output. So you must choose between
-f l
for LCD or
-f t
for TV. The -f auto
option does not work.
(n.b.: The external VGA output can be simultaneously used with either
the LCD output or the TV output, with -f lc
or -f
ct
.)
CD burning
The cdrecord
program (included
with Redhat 7.3) works out of the box on the laptop with one exception:
it cannot blank CDRW discs without crashing. Fortunately, the cdrdao program (also included
with Redhat 7.3, although not installed by default) can blank CDRW discs on
this laptop.
The incantation is:
cdrdao blank --device 0,0,0 --driver generic-mmc --blank-mode minimal
If you want to blank the entire disc instead of just the table of contents,
use --blank-mode full instead.
The power button
In Windows, the power button on the laptop initiates a clean shutdown and
then turns the laptop's power off. To accomplish the same effect in Linux,
install the acpid rpms and copy
this file to /etc/acpi/events/power.conf.
Then reboot, or restart acpid (service acpid restart), and the power
button should launch the shutdown procedure when pressed.
Disk drive optimization
The hard disk and DVD/CDRW drive in this laptop support UDMA33 operation
in Linux, but Redhat by default uses PIO operation. Switching to UDMA33 mode
provides a substantial performance boost.
To use UDMA33 mode, edit the file /etc/sysconfig/harddisks and uncomment
the USE_DMA line. Then copy that file over to /etc/sysconfig/harddiskhdc.
The copying is required because Redhat 7.3 will not apply DMA to the cdrom
unless there exists a specific sysconfig file for the cdrom drive.
Note that an updated kernel is required
in order to obtain UDMA33 operation.
The Winmodem
You can use the on-board software modem in Linux using the Linuxant linmodem drivers.
Follow the directions for the HSF (softmodem) driver. Note: the driver
from the Linuxant web site is deliberately limited to a data rate of
14.4k, unless you pay them $15 for the full version.
Fortunately, the 2002-12-26 beta version of their driver supports 56k
speeds, is free software, and works with this laptop.
I have posted this beta driver online at this
location. To use these drivers in redhat, install the hsflinmodem
package along with the kernel-source package, and run the included
hsfconfig
program to set up the module configuration. Note
that the old beta winmodem drivers are somewhat unstable and do tend to
crash under heavy load. It is up to you to decide whether they are worth
using.
Miscellany
Region Playback Control (RPC)
The QSI SBW241 DVD drive in this laptop (like all new DVD drives) is RPC-2.
If you wish to play DVD movies from multiple regions, it is highly recommended
that you install the RPC-1
firmware patch for this drive. Installation of the firmware patch, unfortunately,
requires that you boot into DOS from either floppy disk or hard disk.
If you're only ever going to play DVD movies from a single region, it's easier
to get the regionset
program and set the drive to the region you want.
Keyboard layout
Here is an Xmodmap file which remaps Caps-Lock to Ctrl
and Windows-key to Compose. I find this remapped layout much more usable
than the default layout. To use this file, copy it to ~/.Xmodmap
and log out and back in to X.
Sub-pixel fonts a.k.a. ClearType (tm)
If you want beautiful sub-pixel antialiased fonts on your LCD screen in
linux, the easiest way is to install Redhat 8.0 or above, which have
this feature built in.
There is a Sub-Pixel
HOWTO, but I have not been able to get any of the methods in it to
work in Redhat 7.3.
TODO
Untested, but should work in Linux:
- Parallel port
- Cardbus slots
- Microphone input
Things that don't work in Linux yet:
- Sleep/suspend/hibernate mode
- Volume controls on side of laptop (Actually, I do have a hack for
this but it is quite ugly. Email me if you need it badly and I will give
you the info.)
- Manual CPU speed & CPU fan control
Other links
TuxMobil (formerly Mobilix)
Linux on Laptops
Copyright © 2003 David Jao (djao@dominia.org).