Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad X61

From ThinkWiki
Jump to: navigation, search

If you are installing Intrepid then also check this page.

Items that work out of the box

Fn keys

  • play/pause/stop/next/previous: should work as they are correctly mapped in GNOME
  • brightness down (note: send events ibm & video, reduce the brightness by two levels)
  • brightness up (note: send only event video, increase the brightness by one level)
  • lock
  • sleep
  • battery show a popup with current battery info
  • suspend to disk (hibernate): works
  • suspend to ram: works and wakes up as soon the lid is opened
  • bluetooth enable/disable works

additional keys

  • sound up/down buttons
  • power button: makes popup a menu with many choices (sleep/suspend/restart/logoff/shutdown/...)


  • dim LCD works (for eg: when idle)
  • bluetooth:
    • pairing works fine
    • obex works fine
    • not much tested other features should work.
  • rf-switch

Items that requires some light tweaks

Items that will work with a custom kernel upgrade

Do not be afraid I will try to explain most of the needed steps (coming soon). Moreover the new features will be very sweet ;) And you will not loose any features that already works out of the box. Humm, Do I said that? Well at this time the work in progress is about TuxOnIce.

Here are the features that works smoothly after that you use your own kernel

Note: I use zen-sources kernel.

  • all sound keys works as expected (including mute key)
  • brightness works fine (both keys send ibm & video events)
  • rf-switch tested and working
  • sound mute (only mute but does not unmute, have to press sound up or down to get the sound back, fixed using a custom kernel, see below for the full details -Easy-)
  • hdaps with head parking works fine (details below)

Manual configuration

Fingerprint reader

Install and configuration

A very nice and easy howto is located here.

Fingerprint reader getting hot

It is very easy to fix.



HDAPS with head parking

Does not work with the default Kernel shipped in Ubuntu as it does not include the head parking patch, but you can still do the following steps to configure hdaps and hdapsd, your config will be ready when you will choose to compile a new kernel or when the Ubuntu team will include the patch in their kernel tree.

  • add "hdaps" at the end of /etc/modules
  • add in the file /etc/udev/rules.d/50-hdapsd.rules
KERNEL=="event[0-9]*", ATTRS{phys}=="hdaps/input1", ATTRS{modalias}=="input:b0019v1014p5054e4801-*",SYMLINK+="input/hdaps/accelerometer-event"
  • edit /etc/default/hdapsd to fit your needs.

Disk is "sda" on my X61 (may vary if you use UltraBase -- I do not have one)

And I use 40 for the sensitivity. You can lower the sensitivity -- down to 15 I think -- if you are working in a very quiet and stable environment.

Browser keys

I use Xmodmap.

Put the two following lines in the file ~/.Xmodmap

 keycode 234 = XF86Back
 keycode 233 = XF86Forward

Restart X and enjoy the keys in Fiferox

ThinkVantage button and Fn+Space

Edit the file /etc/rc.local and add the following lines:

 setkeycodes e017 148
 setkeycodes 0082 192

The first line enable the ThinkVantage button and the second enable the Fn+Space shortcut.

Apply the changes (one time only) running:

 sudo /etc/init.d/rc.local start

Now you can assign any shortcuts to these keys.

These instructions are only a quick rewrite of the following article: The ThinkVantage Button and Ubuntu Hardy Heron.

Thanks to Karol Krizka.

Middle button wheel emulation

The following config does not only enable the wheel button but it also keeps the cut/paste feature on it.

I used the Device section from the config of my OpenSuSE and all works very fine.

Config to replace:

	Section "InputDevice"
	       Identifier      "Configured Mouse"
	       Driver          "mouse"
	       Option          "CorePointer"

	Section "InputDevice"
	       Identifier      "Synaptics Touchpad"
	       Driver          "synaptics"
	       Option          "SendCoreEvents"        "true"
	       Option          "Device"                "/dev/psaux"
	       Option          "Protocol"              "auto-dev"
	       Option          "HorizEdgeScroll"       "0"

Just comment both of the previous sections and add the following one:

Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[1]"
  Option       "Buttons" "5"
  Option       "Device" "/dev/input/mice"
  Option       "EmulateWheel" "on"
  Option       "EmulateWheelButton" "2"
  Option       "InputFashion" "Mouse"
  Option       "Name" "IBM;TPPS/2 TrackPoint"
  Option       "Protocol" "explorerps/2"
  Option       "Vendor" "Sysp"
  Option       "EmulateWheel"          "on"
  Option       "EmulateWheelButton"    "2"
  Option       "XAxisMapping" "6 7"
  Option       "YAxisMapping" "4 5"
  Option       "ZAxisMapping" "4 5"
  Option       "CorePointer"