Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61
I installed Ubuntu 8.10 on a ThinkPad X61 model 7673-CTO.
Contents
Information about this model
Some available accessories for this model
- 40Y8116 UltraBase X6
- 41N5643 Ultrabay Slim Multi-Burner III Drive
- 40Y6789 3-cell UltraBase battery
- 40Y7003 ThinkPad X60 series 8-cell High-Capacity Battery
- 40Y7696 ThinkPad and IdeaPad 65W AC Adapter
DMI info for this model
# dmidecode -s system-manufacturer LENOVO # dmidecode -s system-product-name 7673CTO # dmidecode -s system-version ThinkPad X61
glxgears
$ glxgears 3655 frames in 5.0 seconds = 730.939 FPS
Issues
HDAPS
Can't load the hdaps module
# modprobe hdaps FATAL: Error inserting hdaps (/lib/modules/2.6.27-11-generic/kernel/drivers/hwmon/hdaps.ko): No such device or address # rmmod thinkpad_ec # modprobe hdaps #
The hdaps and the thinkpad_ec module conflict. Either one can be loaded in the absence of the other.
Apparently an hdaps_ec module is needed but neither Intrepid nor Jaunty (4 March 2009) includes it.
The hdaps module loaded:
Setting up hdapsd (1:0.0.20070803-2) ... * Not starting hdapsd: /sys/block/hda/queue/protect does not exist, please read /usr/share/doc/hdapsd/README.Debian
The latter file says:
hdapsd needs the hdaps kernel module and the hdaps_protect patch in the kernel so it WON'T work out-of-the-box on a Debian machine yet. Look at http://thinkwiki.org/wiki/HDAPS for additional information.
Bug reported: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/297213
Docking
Do something on undock and dock
To arrange for some action to be taken on undock and dock, add an /etc/udev/rules.d/55-thinkpad-local.rules file containing the following
KERNEL=="dock.0", ATTR{docked}=="1", RUN+="/etc/thinkpad/dock.sh 1" KERNEL=="dock.0", ATTR{docked}=="0", RUN+="/etc/thinkpad/dock.sh 0"
and add an /etc/thinkpad/dock.sh file containing something like the following:
#!/bin/sh DOCKED=$(cat /sys/devices/platform/dock.0/docked) echo Docked: $DOCKED | logger -t $0 case "$DOCKED" in "0") # Do something ;; "1") # Do something else ;; esac
Here is the content of /var/log/syslog resulting from this sequence of actions:
- Press the "undock" button on the left side of the UltraBase X6
- Remove the X61 from the UltraBase X6
- Insert the X61 back into the UltraBase X6 with various peripherals attached
-- Pressed the undock button here -- Mar 5 12:56:02 triffid kernel: [31768.846089] ACPI: \_SB_.GDCK - undocking Mar 5 12:56:02 triffid kernel: [31768.850304] usb 2-4: USB disconnect, address 8 Mar 5 12:56:02 triffid kernel: [31768.850311] usb 2-4.1: USB disconnect, address 9 Mar 5 12:56:03 triffid kernel: [31768.917622] usb 2-4.2: USB disconnect, address 10 Mar 5 12:56:03 triffid /etc/thinkpad/dock.sh: Docked: 0 -- Removed X61 from UltraBase X6 here -- Mar 5 12:56:40 triffid kernel: [31806.417127] 0000:00:19.0: eth0: Link is Down Mar 5 12:56:40 triffid NetworkManager: <info> (eth0): carrier now OFF (device state 8) Mar 5 12:56:40 triffid NetworkManager: <info> (eth0): device state change: 8 -> 2 Mar 5 12:56:40 triffid NetworkManager: <info> (eth0): deactivating device (reason: 40). Mar 5 12:56:40 triffid NetworkManager: <info> eth0: canceled DHCP transaction, dhcp client pid 25911 Mar 5 12:56:40 triffid NetworkManager: <info> Policy set 'Auto bb55-lubbers' (wlan0) as default for routing and DNS. Mar 5 12:56:40 triffid avahi-daemon[3772]: Withdrawing address record for 192.168.1.35 on eth0. Mar 5 12:56:40 triffid avahi-daemon[3772]: Leaving mDNS multicast group on interface eth0.IPv4 with address 192.168.1.35. Mar 5 12:56:40 triffid avahi-daemon[3772]: Interface eth0.IPv4 no longer relevant for mDNS. Mar 5 12:56:40 triffid x-session-manager[13353]: DEBUG(+): GsmDBusClient: obj_path=/org/freedesktop/PowerManagement interface=org.freedesktop.PowerManagement method=OnBatteryChanged Mar 5 12:56:40 triffid x-session-manager[13353]: DEBUG(+): GsmDBusClient: obj_path=/org/freedesktop/PowerManagement interface=org.freedesktop.PowerManagement method=PowerSaveStatusChanged Mar 5 12:56:42 triffid pulseaudio[13457]: module-alsa-sink.c: Increasing wakeup watermark to 90.00 ms Mar 5 12:56:44 triffid pulseaudio[13457]: module-alsa-sink.c: Increasing wakeup watermark to 100.00 ms -- Inserted the X61 into the UltraBase X6 here -- Mar 5 12:57:02 triffid anacron[26310]: Anacron 2.3 started on 2009-03-05 Mar 5 12:57:02 triffid anacron[26310]: Normal exit (0 jobs run) Mar 5 12:57:02 triffid anacron[26369]: Anacron 2.3 started on 2009-03-05 Mar 5 12:57:02 triffid anacron[26369]: Normal exit (0 jobs run) Mar 5 12:57:02 triffid x-session-manager[13353]: DEBUG(+): GsmDBusClient: obj_path=/org/freedesktop/PowerManagement interface=org.freedesktop.PowerManagement method=OnBatteryChanged Mar 5 12:57:02 triffid x-session-manager[13353]: DEBUG(+): GsmDBusClient: obj_path=/org/freedesktop/PowerManagement interface=org.freedesktop.PowerManagement method=PowerSaveStatusChanged Mar 5 12:57:02 triffid kernel: [31828.384758] ACPI: \_SB_.GDCK - docking Mar 5 12:57:02 triffid kernel: [31828.589049] usb 2-4: new high speed USB device using ehci_hcd and address 11 Mar 5 12:57:02 triffid kernel: [31828.721419] usb 2-4: configuration #1 chosen from 1 choice Mar 5 12:57:02 triffid kernel: [31828.722409] hub 2-4:1.0: USB hub found Mar 5 12:57:02 triffid kernel: [31828.722465] hub 2-4:1.0: 4 ports detected Mar 5 12:57:03 triffid kernel: [31829.232108] usb 2-4.1: new low speed USB device using ehci_hcd and address 12 Mar 5 12:57:03 triffid kernel: [31829.364574] usb 2-4.1: configuration #1 chosen from 1 choice Mar 5 12:57:03 triffid kernel: [31829.373005] input: Microsoft Comfort Curve Keyboard 2000 as /devices/pci0000:00/0000:00:1a.7/usb2/2-4/2-4.1/2-4.1:1.0/input/input18 Mar 5 12:57:03 triffid kernel: [31829.412125] generic-usb 0003:045E:00DD.000A: input,hidraw0: USB HID v1.11 Keyboard [Microsoft Comfort Curve Keyboard 2000] on usb-0000:00:1a.7-4.1/input0 Mar 5 12:57:03 triffid kernel: [31829.424150] input: Microsoft Comfort Curve Keyboard 2000 as /devices/pci0000:00/0000:00:1a.7/usb2/2-4/2-4.1/2-4.1:1.1/input/input19 Mar 5 12:57:03 triffid kernel: [31829.456127] generic-usb 0003:045E:00DD.000B: input,hidraw1: USB HID v1.11 Device [Microsoft Comfort Curve Keyboard 2000] on usb-0000:00:1a.7-4.1/input1 Mar 5 12:57:03 triffid NetworkManager: <info> (eth0): carrier now ON (device state 2) Mar 5 12:57:03 triffid NetworkManager: <info> (eth0): device state change: 2 -> 3 Mar 5 12:57:03 triffid NetworkManager: <info> Activation (eth0) starting connection 'Auto eth0' Mar 5 12:57:03 triffid NetworkManager: <info> (eth0): device state change: 3 -> 4 Mar 5 12:57:03 triffid NetworkManager: <info> Activation (eth0) Stage 1 of 5 (Device Prepare) scheduled... Mar 5 12:57:03 triffid NetworkManager: <info> Activation (eth0) Stage 1 of 5 (Device Prepare) started... Mar 5 12:57:03 triffid NetworkManager: <info> Activation (eth0) Stage 2 of 5 (Device Configure) scheduled... Mar 5 12:57:03 triffid NetworkManager: <info> Activation (eth0) Stage 1 of 5 (Device Prepare) complete. Mar 5 12:57:03 triffid NetworkManager: <info> Activation (eth0) Stage 2 of 5 (Device Configure) starting... Mar 5 12:57:03 triffid NetworkManager: <info> (eth0): device state change: 4 -> 5 Mar 5 12:57:03 triffid NetworkManager: <info> Activation (eth0) Stage 2 of 5 (Device Configure) successful. Mar 5 12:57:03 triffid kernel: [31829.507200] 0000:00:19.0: eth0: Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX Mar 5 12:57:03 triffid NetworkManager: <info> Activation (eth0) Stage 3 of 5 (IP Configure Start) scheduled. Mar 5 12:57:03 triffid NetworkManager: <info> Activation (eth0) Stage 2 of 5 (Device Configure) complete. Mar 5 12:57:03 triffid NetworkManager: <info> Activation (eth0) Stage 3 of 5 (IP Configure Start) started... Mar 5 12:57:03 triffid NetworkManager: <info> (eth0): device state change: 5 -> 7 Mar 5 12:57:03 triffid NetworkManager: <info> Activation (eth0) Beginning DHCP transaction. Mar 5 12:57:03 triffid dhclient: Internet Systems Consortium DHCP Client V3.1.1 Mar 5 12:57:03 triffid dhclient: Copyright 2004-2008 Internet Systems Consortium. Mar 5 12:57:03 triffid dhclient: All rights reserved. Mar 5 12:57:03 triffid dhclient: For info, please visit http://www.isc.org/sw/dhcp/ Mar 5 12:57:03 triffid dhclient: Mar 5 12:57:03 triffid dhclient: wmaster0: unknown hardware address type 801 Mar 5 12:57:03 triffid NetworkManager: <info> dhclient started with pid 26444 Mar 5 12:57:03 triffid NetworkManager: <info> Activation (eth0) Stage 3 of 5 (IP Configure Start) complete. Mar 5 12:57:03 triffid NetworkManager: <info> DHCP: device eth0 state changed normal exit -> preinit Mar 5 12:57:03 triffid dhclient: wmaster0: unknown hardware address type 801 Mar 5 12:57:03 triffid dhclient: Listening on LPF/eth0/00:1d:72:96:e4:31 Mar 5 12:57:03 triffid dhclient: Sending on LPF/eth0/00:1d:72:96:e4:31 Mar 5 12:57:03 triffid dhclient: Sending on Socket/fallback Mar 5 12:57:03 triffid kernel: [31829.540257] usb 2-4.2: new low speed USB device using ehci_hcd and address 13 Mar 5 12:57:03 triffid kernel: [31829.643955] usb 2-4.2: configuration #1 chosen from 1 choice Mar 5 12:57:03 triffid kernel: [31829.654901] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1a.7/usb2/2-4/2-4.2/2-4.2:1.0/input/input20 Mar 5 12:57:03 triffid kernel: [31829.685098] generic-usb 0003:046D:C00E.000C: input,hidraw2: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1a.7-4.2/input0 Mar 5 12:57:04 triffid /etc/thinkpad/dock.sh: Docked: 1 Mar 5 12:57:07 triffid dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 Mar 5 12:57:07 triffid dhclient: DHCPOFFER of 192.168.1.35 from 192.168.1.254 Mar 5 12:57:07 triffid dhclient: DHCPREQUEST of 192.168.1.35 on eth0 to 255.255.255.255 port 67 Mar 5 12:57:07 triffid dhclient: DHCPACK of 192.168.1.35 from 192.168.1.254 Mar 5 12:57:07 triffid NetworkManager: <info> DHCP: device eth0 state changed preinit -> bound Mar 5 12:57:07 triffid NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP Configure Get) scheduled... Mar 5 12:57:07 triffid NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP Configure Get) started... Mar 5 12:57:07 triffid NetworkManager: <info> address 192.168.1.35 Mar 5 12:57:07 triffid NetworkManager: <info> prefix 24 (255.255.255.0) Mar 5 12:57:07 triffid NetworkManager: <info> gateway 192.168.1.254 Mar 5 12:57:07 triffid NetworkManager: <info> hostname 'dhcppc2' Mar 5 12:57:07 triffid NetworkManager: <info> nameserver '192.168.1.254' Mar 5 12:57:07 triffid NetworkManager: <info> domain name 'lokaal' Mar 5 12:57:07 triffid NetworkManager: <info> Activation (eth0) Stage 5 of 5 (IP Configure Commit) scheduled... Mar 5 12:57:07 triffid NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP Configure Get) complete. Mar 5 12:57:07 triffid NetworkManager: <info> Activation (eth0) Stage 5 of 5 (IP Configure Commit) started... Mar 5 12:57:07 triffid avahi-daemon[3772]: Joining mDNS multicast group on interface eth0.IPv4 with address 192.168.1.35. Mar 5 12:57:07 triffid avahi-daemon[3772]: New relevant interface eth0.IPv4 for mDNS. Mar 5 12:57:07 triffid avahi-daemon[3772]: Registering new address record for 192.168.1.35 on eth0.IPv4. Mar 5 12:57:07 triffid dhclient: bound to 192.168.1.35 -- renewal in 13934 seconds. Mar 5 12:57:08 triffid NetworkManager: nm_ip4_config_add_nameserver: assertion `nameserver != s' failed Mar 5 12:57:08 triffid NetworkManager: nm_ip4_config_add_nameserver: assertion `nameserver != s' failed Mar 5 12:57:08 triffid NetworkManager: <info> Policy set 'Auto bb55-lubbers' (wlan0) as default for routing and DNS. Mar 5 12:57:08 triffid NetworkManager: <info> (eth0): device state change: 7 -> 8 Mar 5 12:57:08 triffid NetworkManager: nm_ip4_config_add_nameserver: assertion `nameserver != s' failed Mar 5 12:57:08 triffid NetworkManager: <info> Policy set 'Auto eth0' (eth0) as default for routing and DNS. Mar 5 12:57:08 triffid NetworkManager: <info> Activation (eth0) successful, device activated. Mar 5 12:57:08 triffid NetworkManager: <info> Activation (eth0) Stage 5 of 5 (IP Configure Commit) complete. Mar 5 12:57:08 triffid ntpdate[26538]: adjust time server 91.189.94.4 offset 0.018127 sec
Ref: http://marc.info/?l=linux-thinkpad&m=123416226107039&w=2
Hard freeze on undock from UltraBase
The ThinkPad X61 can be docked in the UltraBase X6 which has an Ultrabay Slim into which an optical drive can be installed such as the Ultrabay Slim Multi-Burner III Drive.
If the X61 is removed from the UltraBase then it seizes up, presumably because the kernel can no longer see the optical drive.
A sufficient solution is to "delete" the optical drive before undocking.
echo 1 > /sys/class/scsi_device/1:0:0:0/device/delete
It doesn't seem to be necessary to write to /sys/bus/platform/devices/dock.0/undock as some suggest.
It does seem necessary to do this, however, before pressing the "undock" button on the UltraBase X6.
After reattaching the UltraBase, do
echo 0 0 0 > /sys/class/scsi_host/host1/scan
to cause the optical drive to be noticed by the kernel.
Note that it is possible that the device number be something other than 1:0:0:0. Do, e.g.,
ls -l /sys/class/scsi_device/*:0:0:0/device/delete
to check.
Refs:
- http://ubuntuforums.org/archive/index.php/t-750480.html
- http://ubuntuforums.org/showthread.php?t=816755
Bug reported: https://bugs.launchpad.net/ubuntu/+bug/242638
/proc/acpi/ibm/bay
There is a /proc/acpi/ibm/bay file with the following contents (with the X61 docked in the UltraBase X6 with a Ultrabay Slim Multi-Burner III Drive in the Ultrabay Slim port).
# cat bay status: occupied commands: eject
No /proc/acpi/ibm/dock
The file /proc/acpi/ibm/dock does not exist even though the thinkpad-acpi module is loaded and the X61 is booted while docked in the UltraBase X6. So, instructions in the thinkpad-acpi README and elsewhere that make reference to this file can be followed.
lsmod reveals that the dock and bay modules are loaded. There is a /sys/devices/platform/dock.0 directory with:
# cd /sys/devices/platform/dock.0 # ls -al total 0 drwxr-xr-x 3 root root 0 2009-03-01 17:22 . drwxr-xr-x 13 root root 0 2009-03-01 17:22 .. -r--r--r-- 1 root root 4096 2009-03-01 17:22 docked -r--r--r-- 1 root root 4096 2009-03-01 17:28 flags -r--r--r-- 1 root root 4096 2009-03-01 17:28 modalias drwxr-xr-x 2 root root 0 2009-03-01 17:28 power lrwxrwxrwx 1 root root 0 2009-03-01 17:22 subsystem -> ../../../bus/platform -rw-r--r-- 1 root root 4096 2009-03-01 17:22 uevent -r--r--r-- 1 root root 4096 2009-03-01 17:28 uid --w------- 1 root root 4096 2009-03-01 17:28 undock
When not docked:
# cat /sys/devices/platform/dock.0/docked 0
When docked:
# cat /sys/devices/platform/dock.0/docked 1
Keys
ThinkVantage key not seen by X
The ThinkVantage key is seen and reported by ACPI.
$ acpi_listen ibm/hotkey HKEY 00000080 00001018
It is seen and reported by input-events as KEY_VENDOR which according to /usr/include/linux/input.h has the value 0x168.
It is seen by showkey as having keycode 0x168 (360 in decimal).
But it isn't seen by xev.
This is confirmed fixed in Jaunty.
Refs:
Reported: https://bugs.launchpad.net/ubuntu/hardy/+source/linux/+bug/217504/
Fn-F5 emits KEY_RADIO instead of KEY_WLAN
Reported: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504643
Table of keycodes for special keys and key combinations
While investigating the above problem I researched what key codes the various special keys and key combinations generate on this ThinkPad using various tools. The observations (which haven't been double-checked yet) are summarized in the following table.
- Instructions for showkey, acpi_listen, xev and GNOME keyboard shortcuts methods
- Instructions for input-events method
key combination | extra function symbol | showkey keycode | input-events | acpi_listen | xev | GNOME keyboard shortcuts |
---|---|---|---|---|---|---|
⟦◁̸ (loudspeaker icon with stroke) | 113 | (none) | (none) | 121 | XF86AudioMute | |
⟦◁▾ (loudspeaker icon, down arrow) | 114 | (none) | (none) | 122 | XF86AudioLowerVolume | |
⟦◁▴ (loudspeaker icon, up arrow) | 115 | (none) | (none) | 123 | XF86AudioRaiseVolume | |
ThinkVantage | 360 | KEY_VENDOR | ibm/hotkey HKEY 00000080 00001018 | (none) | (none) | |
Fn | 143 | (none) | 151 | XF86WakeUp | ||
Fn-F1 | 466 | KEY_FN_F1 | ibm/hotkey HKEY 00000080 00001001 | (none) | (none) | |
Fn-F2 | padlock | 152 | KEY_SCREENLOCK | ibm/hotkey HKEY 00000080 00001002 | (none) | XF86ScreenSaver |
Fn-F3 | battery | 236 | KEY_BATTERY | ibm/hotkey HKEY 00000080 00001003 | (none) | (none) |
Fn-F4 | crescent moon | 142; 142 | KEY_SLEEP | ibm/hotkey HKEY 00000080 00001004 | (none) | XF86Sleep |
Fn-F5 | radiating computer | 385 | KEY_RADIO | ibm/hotkey HKEY 00000080 00001005 | (none) | (none) |
Fn-F6 | 471 | KEY_FN_F6 | ibm/hotkey HKEY 00000080 00001006 | (none) | (none) | |
Fn-F7 | screen, line, computer | 227 | KEY_SWITCHVIDEOMODE | ibm/hotkey HKEY 00000080 00001007 | (none) | (none) |
Fn-F8 | trackpoint, line, trackpad | 192 | KEY_F22 | ibm/hotkey HKEY 00000080 00001008 | (none) | (none) |
Fn-F9 | computer, eject symbol | 194 | KEY_F24 | ibm/hotkey HKEY 00000080 00001009 | (none) | (none) |
Fn-F10 | 143 | (none) | (none) | (none) | XF86WakeUp | |
Fn-F11 | 476 | KEY_FN_F11 | ibm/hotkey HKEY 00000080 0000100b | (none) | (none) | |
Fn-F12 | screen, arrow, diskpack | 205 | KEY_SUSPEND | ibm/hotkey HKEY 00000080 0000100c | (none) | (none) |
Fn-Home | sun, up arrow | 225; 225 | KEY_BRIGHTNESSUP | ibm/hotkey HKEY 00000080 00001010, video LCD0 00000086 00000000 | (none) | XF86MonBrightnessUp |
Fn-End | sun, down arrow | 224; 224 | KEY_BRIGHTNESSDOWN | ibm/hotkey HKEY 00000080 00001011, video LCD0 00000087 00000000 | (none) | XF86MonBrightnessDown |
Fn-PgUp | illuminated lamp | (none) | (none) | (none) | (none) | |
Fn-Space | screen with hourglass ("zoom" symbol) | 372 | KEY_ZOOM | ibm/hotkey HKEY 00000080 00001014 | (none) | (none) |
Fn-→ | barred right arrowhead ("next" symbol) | 163 | (none) | (none) | 171 | XF86AudioNext |
Fn-↓ | right arrowhead ("play" symbol) | 164 | (none) | (none) | 172 | XF86AudioPlay |
Fn-← | barred left arrowhead ("prev" symbol) | 165 | (none) | (none) | 173 | XF86AudioPrev |
Fn-↑ | square ("stop play" symbol) | 166 | (none) | (none) | 174 | XF86AudioStop |
◂⎗ (left arrowhead, page icon) | 158 | (none) | (none) | 166 | XF86Back | |
⎘▸ (page icon, right arrowhead) | 159 | (none) | (none) | 167 | XF86Forward |
Hotkey mask when the above table was compiled:
$ cat /sys/devices/platform/thinkpad_acpi/hotkey_mask 0x00fdffff $ cat /sys/devices/platform/thinkpad_acpi/hotkey_all_mask 0x00ffffff $ cat /sys/devices/platform/thinkpad_acpi/hotkey_recommended_mask 0x008c7fff $ cat /sys/devices/platform/thinkpad_acpi/hotkey_report_mode 1
Compare Default meanings of special keys.
Networking
Atheros AR5212 801.11 abg Wi-Fi card doesn't resume
This problem in Intrepid is confirmed fixed in Jaunty.
Workaround for Intrepid: Add to /usr/lib/pm-utils/sleep.d/10NetworkManager:
thaw|resume) + ifconfig wifi0 up resume_nm
Note that this file disappears on upgrade to Jaunty.
Reported: https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules/+bug/275692
Getting the Wi-Fi LED to flicker (with Atheros AR5212 801.11 abg Wi-Fi)
For Intrepid, add the following lines to /etc/sysctl.conf and reboot:
dev.wifi0.ledpin=1 dev.wifi0.softled=1
This does not work for Jaunty. In Jaunty there is no longer a Wi-Fi interface named wifi0; now there are interfaces wlan0 and wmaster0. Solution still being sought....
Network-manager slow to reconnect
Present in Intrepid.
Seemingly fixed in Jaunty.
Reported: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/247381
Sound and video
Sound too quiet
The problem of sound being too quiet in Hardy is not present in Intrepid.
Sound crackles
In Jaunty (4 March 2009) the welcome jingle crackles.
This problem did not affect Intrepid.
Forgets screen resolution
In Jaunty (4 March 2009) when one logs back in, dual heads are always mirrored even if they have been configured previously. Resetting or restoring the configuration does not always fully succeed and the display is not always redrawn correctly.
Suspending and resuming sometimes fixes the problem.
Reported: https://bugs.launchpad.net/ubuntu/+source/screen-resolution-extra/+bug/337427
compiz and dual-head
The Intel Graphics Media Accelerator X3100 is limited to a maximum 3D texture size of 2048 × 2048.
$ glxinfo -l 2>/dev/null | grep GL_MAX_TEXTURE_SIZE | sed 's/.*=[^0-9]//g' 2048
This means that compiz visual effects can only be enabled if the virtual screen area is 2048 wide/high or less. This means that if one has an external display with a width greater than 1024 pixels, it can't be located beside the laptop display if you want wobbly windows and such. E.g., a 1680 × 1050 monitor beside the X61's 1024 × 768 LCD panel would require a virtual screen that is at least 2704 pixels wide.
A wide external display can be placed above or below the laptop display, however. E.g., the above monitor placed "above" the laptop panel requires a virtual screen height of 1818 pixels. ("Above" here of course just refers to the relative position set in System | Preferences | Screen Resolution.)
compiz-check
jdthood@triffid:/usr/local/sbin$ wget http://www.blogage.de/files/9124/download -O compiz-check
jdthood@triffid:/usr/local/sbin$ ./compiz-check Gathering information about your system... Distribution: Ubuntu 9.04 Desktop environment: GNOME Graphics chip: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c) Driver in use: intel Rendering method: AIGLX Checking if it's possible to run Compiz on your system... Checking for texture_from_pixmap... [ OK ] Checking for non power of two support... [ OK ] Checking for composite extension... [ OK ] Checking for FBConfig... [ OK ] Checking for hardware/setup problems... [WARN] Something potential problematic has been detected with your setup: Warning: PCI ID 8086:2a02 detected. Would you like to know more? (Y/n) y Your particular graphics chip may be blacklisted on certain distributions. However that does not necessarily mean you will not be able to run Compiz. You can skip this blacklist -- but keep in mind that you did so. Do not complain if you encounter any problems with Compiz afterwards. Do you want to skip blacklist checks by Compiz? (y/N)
Movies jitter
Ref: http://marc.info/?l=linux-thinkpad&m=123180105228016&w=2