Ubuntu on the Thinkpad X300: Impressions and installation tips

Ubuntu is turning out to be a legitimate desktop alternative to Windows and Mac.

Dave Rosenberg Co-founder, MuleSource
Dave Rosenberg has more than 15 years of technology and marketing experience that spans from Bell Labs to startup IPOs to open-source and cloud software companies. He is CEO and founder of Nodeable, co-founder of MuleSoft, and managing director for Hardy Way. He is an adviser to DataStax, IT Database, and Puppet Labs.
Dave Rosenberg
6 min read

Ubuntu on Thinkpad
Ubuntu on Thinkpad Ubuntu

In light of my chronic Mac problems, I decided that I would take a shot at Ubuntu running on a Thinkpad X300.

I'm a power business user who has enough technical background to use the command line and utilities, so Ubuntu didn't scare me. However, there were a few quirks that I ran into. For example I had to reinstall Pidgin three times, and it seems to get corrupted on a whim. I also had a day where Firefox would crash every few minutes. These are not things the average user can deal with gracefully.

The positive side of those experiences was the Synaptic package manager worked flawlessly to reinstall the applications that were acting weird. I also was able to get Adobe AIR and Twhirl running with no problems.

I was able to run Microsoft Office with no problem via CrossOver, and it loads faster than on Windows or the Mac by a shocking margin.

I did however run into one major application issue. No Photoshop. Admittedly, I don't use Photoshop all the time, but I needed to yesterday and the Gimp just wasn't happening for me. If one more person tries to tell me that Gimp is just as good as Photoshop, I will physically attack them.

Note: Kevin, my intrepid IT guy wrote most of this up for me. If it says "I" it probably actually means "we" or "us" or probably just Kevin himself while I sat around eating bonbons. Also, we reconstructed the shell commands as best we could remember. Apologies if we got it wrong and you end in some kind of wormhole. There were also a number of other Ubuntu sites that we pulled information from. The Ubuntu community is utterly amazing at pulling together information and helping users solve problems.

Pre-installed OS
Pre-installed copies of both Windows XP and Windows Vista are so gummed up with extraneous software and utilities that the purist has the immediate urge to format the hard drive.

Application performance inside of Windows was fantastic, due in large part to the solid-state hard drive. Additionally the add/remove function is at least four times faster than any other Windows machine I've had the pleasure to work on be it a laptop, desktop, or server.

I upgraded the machine to 4GB of RAM. I also purchased the six-cell battery and the supplemental battery that can optionally replace the DVD.

Out of the box
I installed Hardy Heron (Ubuntu 8.04) off of the alternate install CD after having a small problem booting from the Live CD (apparently the 'nosplash' option will alleviate the blank screen I was getting, but I did not test this.).

The install was uneventful, and I was up and running inside of X Windows (I chose to use Gnome) well within an hour of booting the CD.

Ethernet and wireless worked right out of the box!

The DVD player reads and writes data right out of the box. Commercial DVD playback is another story altogether. First, I installed the regionset package to set the region on the DVD player. Next, I installed the totem-xine package as the gstreamer version that comes preinstalled was not working properly. Finally, I went to the Medibuntu site, enabled its repository and followed the instructions for playing encrypted DVDs.

I attempted to hotswap the DVD for the secondary battery and Gnome-power-manager did not recognize it. However, following a reboot, it properly found both batteries. Unfortunately, the batteries are drained in a serial fashion (same behavior in Windows). Also, I allowed the machine to completely run out of juice, and I noticed that it did not properly hibernate the machine. See Suspend/Hibernate for the fix.

I removed the old ALSA sound modules, installed the build-essential package, and compiled the latest ALSA snapshot, and rebooted to some of the loudest sounds I've ever heard from a built-in laptop speakers.

I first edited /et/cpm/config.d/local and added the line SUSPEND_MODULES="e1000" so that suspend knows to shutdown the network first. Next, I edited /etc/default/acpi-support and enabled Laptop Mode. Finally, I edited /etc/laptop-mode-tools and set Minimum Battery Charge Percent to 1, Enable Auto Hibernation to 1, Hibernate Command to /etc/acpi/hibernate.sh, Auto Hibernation Battery Charge Percent to 3. Following a reboot, the critically low battery event properly triggered the hibernate script.

Touchpad / Trackpad
I dislike the Trackpad, so I went into the BIOS and disabled it. I then added some additional content to the mouse input device section in /etc/X11/xorg.conf -

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"              "/dev/input/mice"
        Option          "Protocol"            "ExplorerPS/2"
        Option          "Emulate3Buttons"     "on"
        Option          "Emulate3TimeOut"     "50"
        Option          "EmulateWheel"        "on"
        Option          "EmulateWheelTimeOut" "200"
        Option          "EmulateWheelButton"  "2"
        Option          "YAxisMapping"        "4 5"
        Option          "XAxisMapping"        "6 7"
        Option          "ZAxisMapping"        "4 5"

The fan is a bit noisy under Ubuntu, so I created a few scripts to manually set the speed to the minimum, the maximum, and auto. The script just calls this master script with 3 different variables -

# Control fan on a ThinkPad.
# Be sure to add the following to /etc/modprobe.d/options:
#    options thinkpad_acpi fan_control=1
# and reboot, before using this script.

usage() {
  echo "$0  ( is 0-7, auto, disengaged, full-speed)"

if [ -z "$1" ]; then

sudo sh -c "echo level $1 > /proc/acpi/ibm/fan"

I'm not using Bluetooth at the moment, so I created a script to toggle Bluetooth on and off in an effort to preserve battery life -

# Enable/disable builtin Bluetooth on IBM Thinkpads

if grep -q enabled /proc/acpi/ibm/bluetooth; then
echo disable > /proc/acpi/ibm/bluetooth
echo enable > /proc/acpi/ibm/bluetooth

Power Management
First, I installed the powertop package, ran it as root, and followed its suggestions for improving power management. Powertop is a nifty tool that analyzes your power consumption and recommends tweaks based on the most active processes.

OpenOffice has come a long way and I believe it is a suitable replacement for the bloatware of Microsoft's Office solution. However, for 100 percent compatibility, I decided to take CrossOver Office + Office 2007 for a spin. I can report that the installation went smoothly and the applications have been solid as a rock. Word and Excel launch in 2 seconds, which is faster than they launch on just about any other machine I've worked with. Truly amazing performance!

My USB Sidewinder gamepad worked flawlessly with SDLMAME after installing and running the joystick calibration package.

After turning on Virtualization for the CPU in the BIOS, I installed the kvm and qemu packages. Using qemu-img, I created a virtual image for WinXP and installed XP using kvm. The performance is decent and I can now run Windows apps inside this VM in a pinch or use it to test our Web sites with the various versions of Internet Explorer. With the sound flags turned on, I can even use the Rhapsody thick-client inside of XP to listen to tunes.

The Webcam in Skype worked right out of the box. Sweet! The only thing I struggled with was getting the microphone working. Eventually, I worked out that the Capture device needs to be enabled in the Recording tab and Internal mic enabled and selected on the Switches tab.

Firefox / Flash
Flash is not installed by default, but installation was trivial and worked immediately. This is in sharp contrast to the effort I've had to put into getting Flash working inside a browser on older Linux distributions.

Stephen O'Grady