Debian GNU/Linux on the IBM Thinkpad G40


Table of Contents

Introduction
Hardware
ACPI
DRI
USB
Storage
Audio
Suspend
Network
Keyboard
Modem
PCMCIA
Miscellaneous
Files
Links

This is an updated version of this page if you are for some reason looking for the old version, drop me a note.

I had an IBM ThinkPad 390E™ previously. After a few years of faithful service, being carried back and forth to different job sites and enduring abuse such as falling off a bike, coffee in the keyboard and other small incidents, it was a miracle it worked at all. However, it's age was beginning to show. The computer felt very, very slow on occasions (300MHz Pentium II™), and the hard drive (4GB) was really cramped with two OS's, applications and personal data. Add to that a keyboard where the X key wasn't always working, the battery was dead (meaning the computer always needed a power cable connection), a screen that varied wildly in intensity and a CD-ROM that refused to spit out the CD sometimes. It all added up to the decision that it was about time to get a new laptop.

Said and done, I decided that I wanted a ThinkPad since the previous one had been very faithful to me and they are virtually indestructible. I chose the G40 series because it offered a good price/performance ratio and included most of the hardware which I required. The G40's are equipped with a regular (non-mobile edition) Pentium 4 processor which means higher energy consumption and greater cooling requirements, but a lower price tag. The laptop has an air intake on top and one on the bottom and an exhaust on the side. It also has a track-point (essentially a small one-finger joystick), a feature which I have grown fond of while using my previous laptop (enough so to find touchpads quite awkward).

I am running Debian Unstable (and Windows XP) on this laptop right now. Since I had to spend some time getting everything up and running, I decided to document what I did on this page both for the benefit of others and as a support for my own memory. I generally expect the reader to be used to basic concepts such as installing modules, installing software etc. If not, I suggest you read up on these issues first.

The kernel I'm currently running is the latest 2.6.X kernel (2.6.11 at the time of writing) and the .config file can be found in the files section of this page. It's a pretty modular config that works well for me. Now, let's get on with the interesting stuff...