UPDATE: more notes written recently
My new laptop arrived this week — a Dell Latitude x200. And it’s marvellous. Wonderfully lightweight, good battery life for such a small box, good keyboard and a really clear bright screen. After a quick look at Windows XP, which I’d never seen properly before, I set about installing Linux on it. The Linux on Laptops Dell page has links to some useful bootstrapping information, but there were a few things I found pretty hard to work out. Here are my notes on those things.
Re-partitioning the disk
The machine came with Windows XP installed on a single partition that covered the entire 30 gig disk. I didn’t want to delete it in case it comes in useful for something (games, perhaps), but I did want to scrunch it down to some sort of reasonable size. I used to have a copy of Partition Magic but it’s a pre-XP version and I couldn’t find it anyway. The obvious free alternative is GNU Parted, but it runs under Linux. The laptop doesn’t come with a floppy drive, so bootdisks are no use. Even a bootable rescue CD isn’t that much use as I couldn’t find any distribution that had firewire drivers in its rescue kernel. The laptop’s BIOS can boot off the firewire DVD drive, but as soon as Linux takes control the drive effectively disappears and so the boot sequence can’t be completed.
The answer turns out to be Knoppix, a fantastic piece of packaging work that gives you a complex Linux system (X, gnome, kde, mozilla, openoffice, etc) that runs entirely off a CD. It can’t run off a firewire CD either, but it turns out that if you copy the KNOPPIX directory from its CD onto the C: drive inside windows then boot off the CD, the initial ramdisk intelligently searches your hard disk and mounts from the KNOPPIX directory when it can’t find a CD. Parted is in Knoppix, and it was simple to resize the XP partition down to 5 gig following the documentation on the GNU site. Windows XP still boots fine, and I was able to go ahead with Linux install using a Debian CD copied to the C: drive.
The graphics chipset on the x200 is an Intel i830M. There is some support in XFree86 4.2 but it’s missing the XVideo and RENDER extensions, which are very useful for media playing and pretty fonts. Happily, the recently-released X version 4.3.0 has improved support. I’m currently using experimental debs while it makes its way into sid. The apt sources are:
deb https://www.penguinppc.org/~daniels/sid/$(ARCH) ./
deb-src https://www.penguinppc.org/~daniels/sid/source ./
Here's my XF86Config-4. There's nothing unusual in there.
Firewire DVD+CDRW drive
The drive (“Vendor: HL-DT-ST Model: RW/DVD GCC-4240N Rev: D110” according to syslog) works with kernel 2.4.20 using the ohci1394 and sbp2 modules. Reading and writing CDs gave no problems, but playing DVDs with mplayer or ogle shows a lot of jerkiness. I haven’t yet found a hack or firmware update that makes the DVD playback region-free.
Update: I tried playing DVDs again last night and saw good smooth playback. I think this might be due to the automatic power-based CPU speed adjustment. With the default BIOS settings, the laptop switches its speed down to 400Mhz to save power when on batteries. Playing a DVD with power plugged in (and so running at 933Mhz), ogle used around 50% CPU, which implies that 400Mhz wouldn’t be enough power. I assume that I was running on batteries when I wrote the above. Ogle also didn’t seem to mind playing Region 1 discs as long as I set the region in /etc/oglerc. All good news. For the moment I’ve changed the BIOS setting to never slow the CPU, even on batteries. It’d be nice to have control over the setting at runtime so I could make a choice based on my usage. CPUFreq seems to be the solution but the page says it isn’t being maintained any more.
The screen’s brightness can be adjusted using the Fn+Up and Fn+Down keys. Oddly, doing this freezes the machine with the stock Debian 2.4.20 kernel. The solution is to recompile the kernel with the option “Local APIC support on uniprocessors” (under “Processor type and features”) turned off, and the problem goes away.
The modem works with the PCTEL linux drivers using the i8xx hal option when compiling.
Using 2.4.20, the APM battery metering seems a little incomplete. Gnome’s battery status applet reports “N/A” rather than showing a percentage battery remaining. The “apm” command shows a percentage but no estimated remaining time. I haven’t found any options that help.