Ubuntu Dapper 6.06 LTS on an IBM/Lenovo Thinkpad x40

Note: This post is a work-in-progress, I will probably come back to this and change/update/rewrite it at will I picked up a ThinkPad x40 recently to use with Dapper and I thought I'd chuck up a few notes from my experience thus far. I deliberately chose the ThinkPad because of the reputation of IBM's laptops and especially that they use very good hardware and it has to be said that on a modern distro, especially one that aims to work well with laptops, almost every bit of hardware works straight away after install. I would seriously recommend ThinkWiki to anyone attempting ThinkPad/Linux shenanigans - they have a huge amount of information about the various bits of hardware, installation guides, tips and a bunch more, all nicely tagged so you can tell which bits are relevant to the machine you own. First off I'll run through some of the key steps of installation. 1. Before doing anything else, I used the IBM tools in the pre-installed Windows XP to produce restore images and burn them to disc (one CD, one DVD). This is mostly a precaution in case I either have some insurmountable problem with Linux on the machine, or if I ever come to sell it and the buyer wants their licenced copy of Windows. 2. After that I did a pretty much default install of Ubuntu. If you want to, you can set the BIOS to disable protection for the "hidden" IBM recovery partition, then use the whole disk in the Ubuntu installer. I chose to leave it there, but I may reclaim it at some point in the future. I read on a few pages/forums that suspending seems to be more reliable if you add acpi_sleep=s3_bios to the kernel command line, which is easy to do in Ubuntu. Edit /boot/grub/menu.lst (you can use gksudo gedit /boot/grub/menu.lst if you don't know otherwise) and place the above acpi_sleep option on the end of the kopt= line and running sudo update-grub. 3. With the install done I set about installing a few bits and pieces to make the laptop more useful - things like Network Manager (so it's trivially easy to join wired/wireless networks from the desktop), various Bluetooth tools (install gnome-bluetooth and you get most of the bits you need), Java (sun-java5-plugin), mplayer, a few other multimedia libraries including Real Player (available, along with Opera, in the Add/Remove tool (see the Applications menu) if you enable the commercial repository). 4. Start testing things - graphics work fine, wireless works fine with the madwifi driver (although there is some possibility that there is a kernel crashing bug in the version Dapper offers, see LaunchPad bug 37773), wired ethernet is great, keyboard keys mostly seem to work (volume controls work by default, which is a nice touch). 5. Configure it. The first thing I did was disable the Sound Server Daemon in Gnome (called Esound, or esd) because I really dislike it. I then stripped out all the interfaces from /etc/network/interfaces other than lo so that Network Manager will take responsibility. 6. Tweak things. Mplayer always works better if you add an entry to /etc/sysctl.conf that says dev/rtc/max-user-freq=1024 and the ThinkPad's wireless activity LED can be enabled with dev/ath0/softled=1. I fiddled with the settings in the Power Management options in Preferences, but these are personal choices, so I won't bother listing them. One thing I would recommend is setting it to only show an icon when it is charging or discharging - if you're on AC and the battery is full you don't really need an icon, so you get a few extra pixels of panel space (and because the screen is small I'd recommend ditching the lower panel and moving its applets to the top). On the subject of applets and screen estate, you can replace the "Applications Places System" menus with a single "Main Menu" applet, which shows an ubuntu logo on the panel - click on it and you get the Applications menu, with Places and System tacked onto it. Gnome's sensors applet can read the information provided by the ibm-acpi driver, so you can monitor the temperature of various bits of hardware and fan speeds. Also of some interest is the CPU Frequency Scaling applet (which shows you how much Linux is throttling your CPU when its idle). One final Gnome panel tip is that if you make it 25 pixels tall instead of the default 24, larger windows will get their window manager icons shown in the Workspace switcher applet. A trivial little detail, but it's kinda handy if (like me) you tend to run things fullscreen on their own workspace.