Since 2003, I’d been using a Thinkpad X31 for much of my work; it was the best laptop I’d ever owned, and was really the only one I used heavily over a long period of time. It had an irresistible combination of small size, light weight, good performance (for its time), and excellent support from Linux. A few months ago, I dropped my formerly dependable workhorse on its head. It didn’t quite die, but it became increasingly erratic. It was clear that I’d jarred loose some power-related connection, because it would rarely survive a suspend-to-RAM long enough to actually resume. The last straw came when it ploughed an unexpected furrow in its root filesystem. Since I use distributed development tools, I lost maybe an hour of work in total, but I was now nervous. I couldn’t rely on it any longer. Since my employers recently got bought out, and our new corporate IT standards almost mandate the purchase of Dell hardware, I looked through Dell’s laptop line for a suitable replacement. In my ideal world, I’d have preferred a Thinkpad X60 to any Dell, but I wasn’t inclined to try to wrestle with the purchasing policies of an unfamiliar IT department so soon after a buyout. I wanted an ultraportable (i.e. small and light) dual-core system, but the closest approximation in Dell’s current product lineup is the XPS M1210. It’s too big and heavy to fit in the ultraportable category, but at 2kg (4.4lb), it will do fine. The system I ended up getting came packed with a surprise or two. It was outfitted with a GeForce Go 7400 GPU, which I had asked not to get. I had been hoping to use as many completely open device drivers as possible (the Linux drivers that NVIDIA provides are very fast, but proprietary), and I figured that the Intel 915 integrated graphics that were my other option would surely have better heat and power consumption characteristics. In spite of this preference, once the system arrived with the unexpected “bonus GPU”, I felt disinclined to kibitz with my IT department or Dell and go without a reliable laptop for an additional few weeks. I initially installed Fedora Core 5 on the laptop, as I’ve used Fedora for a long time, and like it. Although the install went without a hitch, I found that I could not suspend to memory or disk. Otherwise, the machine seemed to work well. The Intel 3945 driver worked without a problem, although it has a clumsy installation mechanism and nobody has volunteered to package it for the livna package repository yet. Indeed, the 3945 seems to have several better characteristics than the Atheros wifi hardware I’d used in the X31 (and which is still used in more recent Thinkpad laptops). With the 3945, I can associate quickly and reliably to every wireless network I’ve tried, using NetworkManager. The Atheros chip wouldn’t talk to encrypted wifi networks at all. Also, NetworkManager-on-Atheros took about 40 seconds to associate to unencrypted networks, and would drop an association every so often for no apparent reason. Ugh. Finally, the 3945 reports sane signal strengths, while Atheros seems to be measuring some other strange characteristic of a signal that never goes above 50%, even if you’re sitting two feet from an access point. From the perspective of wanting open drivers, neither wireless chipset is ideal. Much of the madwifi driver is proprietary, even though it lives in the kernel, while the 3945 requires both a binary firmware blob and a proprietary userspace daemon that enforces airwave regulation compliance. Out of curiosity, I installed the proprietary NVIDIA drivers, and whatever power and thermal management they perform improved my battery life from about five hours to over six. This impressed me. Unfortunately, there was little I could do about the lack of suspend support in FC5. At least part of the problem is that stock kernels don’t power-manage the Intel SATA controller, so it is guaranteed to die during suspend or resume. Just as I was rolling up my sleeves to install a custom patched kernel and debug it, I noticed that recent Fedora rawhide (testing) kernels incorporate exactly the patch I needed. I upgraded to Fedora Core 6 test 1 without a hitch, using yum; installed a rawhide kernel; rebooted; and I could suspend, both to RAM and to disk! And all without having to do any “real work”. The only downside to the upgrade has been that NVIDIA hasn’t updated its proprietary drivers to handle the newest X.org ABI or kernel build infrastructure, so they don’t work with fc6t1; another good reason to prefer not to use proprietary drivers. For now, at least, I’m back to running the open nv driver for graphics. I can’t discern a speed difference for the kind of stuff I do (lots of terminals, Emacs, and Firefox), and it’s nice to be running with a free driver, but I miss that extra 20% of battery life. Anyway, after all that blather, what are the actual specs of the machine?

  • 2.16GHz Intel Core Duo CPU
  • 2GB RAM
  • 120GB SATA hard disk
  • GeForce 7400 Go GPU
  • 1280x800 gloss-finish display
  • Intel HG audio chipset
  • Synaptics touchpad
  • Intel 3945 A/B/G wireless mini-PCIE card
  • CD-RW/DVD-ROM
  • 1 Firewire port, Ricoh chipset
  • 4 USB 2.0 ports
  • Built-in Bluetooth
  • xD card interface (Ricoh again), hidden under the DVD drive
  • Broadcom 100Mbit Ethernet chip (Linux b44 driver) I was surprised that such an otherwise high-spec machine wouldn’t have gigabit Ethernet support. As a practical matter, this doesn’t really affect me; I mostly use the wireless connection anyway (perhaps that’s what Dell was counting on). As far as I can tell, all of the hardware works well under Fedora. For example, even the non-X.org

Synaptics touchpad driver was configured automatically during the install, and works perfectly. There’s often a considerable lag between a laptop appearing and its congeries of hardware actually working under Linux. Since the M1210 is such a new-to-the-market system, I was astounded that all I needed was a recent stock userspace and kernel, and the ipw3945 driver from sourceforget, to get everything that I care about to work well enough for heavy daily abuse. I have a few physical quibbles with the machine. I have to hit the keys quite hard, or they tend to bounce and give repeats (e.g. I type “h” and get “hh”). The display is crisp, uniformly bright, has vibrant colours, and is a pleasure to work with. I don’t like the glossy finish, though; it reflects too much, particularly if I’m running on batteries and have the screen brightness turned down a bit. If corporate purchasing policies were a non-issue, I’d probably still prefer a Thinkpad X60 due to its comparable specs and lighter weight, but I am surprised and very pleased by how well the Dell XPS M1210 is working for me. It’s exceptionally fast, and has been rock solid so far.