Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad T30

From ThinkWiki
Revision as of 14:12, 24 May 2008 by Djc (Talk | contribs) (Add suspend/resume fixes)
Jump to: navigation, search

Slow boot

This is a problem which afflicted at least one T30 machine when the last beta of Ubuntu 8.04 (Hardy Heron) was installed on it. Another user reports not encountering this problem when installing the release version of Hardy; however, it probably depends on having a Cisco Aironet Wireless 802.11b card installed in the mini-PCI slot.

At first the T30 took three minutes to boot and "ps" showed that several modprobe commands were hung in "D" state. The workaround was to comment out two lines in /lib/modules/2.6.24-16-generic/modules.alias:

modules.alias:#alias aes padlock_aes
modules.alias:#alias aes geode_aes

X

Running dual-head

I connect various external monitors on the DVI port of the port expander. In order to spread one desktop over the laptop monitor (1400 x 1050) and the external monitor (e.g., a Samsung 1680 x 1050) I had to edit xorg.conf:

Section "Module"
	Load		"glx"
	Load		"GLcore"
	Load		"dri"
	Load		"v4l"
EndSection

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"us"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
EndSection

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

Section "Device"
	Identifier	"Configured Video Device"
	Boardname	"ATI Rage 128 Mobility"
	Busid		"PCI:1:0:0"
	Driver		"ati"
	Vendorname	"ATI"
EndSection

Section "Monitor"
	Identifier	"LVDS"
EndSection

Section "Monitor"
	Identifier	"DVI-0"
	Option		"RightOf"	"LVDS"
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Device		"Configured Video Device"
	Monitor		"LVDS"
	Monitor		"DVI-0"
	Defaultdepth	24
	SubSection "Display"
		Depth	24
		Virtual 3080 1050
	EndSubSection
EndSection

Section "ServerLayout"
	Identifier	"Default Layout"
	Screen 		"Default Screen"
	Inputdevice	"Synaptics Touchpad"
EndSection

Section "ServerFlags"
EndSection

Interestingly, this causes the following message to appear in /var/log/Xorg.0.log

(WW) RADEON(0): Option "RightOf" is not used

but this is not true, since omitting this option (from the Monitor section for DVI-0) casues X to start in clone mode instead.

The other errors and warnings in the log file are:

$ grep [WE][WE] /var/log/Xorg.0.log
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
(WW) RADEON(0): Requested desktop size exceeds surface limts for tiling, ColorTiling disabled
(WW) RADEON(0): LVDS Info:
(EE) RADEON(0): Static buffer allocation failed.  Disabling DRI.
(EE) RADEON(0): At least 37997 kB of video memory needed at this resolution and depth.
(WW) RADEON(0): Direct rendering disabled
(WW) RADEON(0): Option "RightOf" is not used
(EE) Synaptics Touchpad no synaptics touchpad detected and no repeater device
(EE) Synaptics Touchpad Unable to query/initialize Synaptics hardware.
(EE) PreInit failed for input device "Synaptics Touchpad"
(WW) Configured Mouse: No Device specified, looking for one...

Synaptics Touchpad

Despite what is suggested by the X log output, the touchpad does work. The right side of the touchpad functions as a scroll control.

Sound

The last release corrects an old bug: sound volume keys don't change the general sound volume.

Suspend/Resume

There are a couple of annoying problems with suspend and resume:

  • The LCD backlight stays on during suspend
  • No sound after resume

LCD Backlight

To force the LCD backlight to turn off when suspending, first ensure radeontool is installed:

sudo apt-get install radeontool

Then, as root, save this script in /etc/pm/sleep.d/21radeon:

#!/bin/sh

case "$1" in
	suspend|hibernate)
		/usr/sbin/radeontool dac off
		/usr/sbin/radeontool light off
		;;
esac

You must set the script executable:

sudo chmod +x /etc/pm/sleep.d/21radeon

Sound after resume

To fix sound after resume, as root, save this script in /etc/pm/sleep.d/99sound:

#!/bin/sh

case "$1" in
	resume|thaw)
		/etc/init.d/alsa-utils restart
		;;
esac

You must set the script executable:

sudo chmod +x /etc/pm/sleep.d/99sound