Installing Fedora 11 on a ThinkPad X22
Contents
Success Chart
Item | Working | Notes | |
Installation | Local CD/DVD install | yes | |
Network Installation | yes | ||
USB Installation | yes | ||
Display | Laptop Screen | yes | Occasional corruption may occur. |
VGA | no | currently broken. | |
Power Management | Software Suspend (hibernate) | no | When entering hibernation the display will get corrupted (vertical lines), and the system hangs. |
Suspend to Memory (ACPI sleep) | no | Enters suspend, but moon LED does not go on. On resume the display is corrupted (vertical lines), and the system hangs (ssh fails) | |
Audio | yes | ||
Extra Buttons | Keyboard Section | partial | See ThinkPad keys section below |
Ports | Ethernet | yes | |
Modem | no | Requires closed-source driver | |
Serial | unknown (should work) | Requires UltraBase X2 | |
IrDA | no | Device is detected, but device files are not created | |
PS/2 Keyboard/Mouse | unknown (should work) | Requires UltraBase X2 | |
Parallel | unknown (should work) | Requires UltraBase X2 | |
USB | yes | ||
PCMCIA/Cardbus | yes | ||
Compact Flash | unknown (should work) | ||
Ultrabay device hotswap | partial | Eject switch causes udev event, but no default udev script to handle the event to unmount filesystems in time. ata_piix does handle the removal and insertion of ATA devices. |
Tested and Verified on Fedora 11
Information in this section has been tested and verified using Fedora 11.
Installation
Installation is straight forward; you can follow the generic Fedora install instructions.
Configuration
Kernel
It is recommended to edit /boot/grub/grub.conf and add hpet=force
to the kernel line. This will activate HPET (High Precision Event Timer), which will allow the CPU to sleep for longer periods and save power.
X Server
Basic X server functionality should work out of the box on the ThinkPad LCD (LVDS). Occasional screen corruption can occur.
Fedora 11 uses KMS (Kernel Mode Setting) by default, and this causes problems for now with external displays. Activating mirror mode with an external VGA display has no effect on the external display (no signal). Activating extended desktop, or booting with an external VGA display attached, causes severe corruption on the ThinkPad LCD, while again the VGA display gets no signal.
On the up side, with KMS the maximum virtual display size is now 4096x4096 (max 2048x2048 without KMS), which should allow extended desktop once the issues with external display support are sorted.
Desktop Effects
Enabling 'Desktop Effects' (compiz) cause the Xserver to restart
ThinkPad keys
ThinkPad keys are handled by a mixture of the thinkpad_acpi, acpi button and acpi dock drivers.
Key | Function | Handled by | Event | Works | Notes |
Fn-F3 | lock screen | thinkpad_acpi | HAL | yes | |
Fn-F4 | suspend | acpi button | HAL | partial | The key event works, but suspend itself is broken |
Fn-F7 | videomode | - | no | no | |
Fn-F12 | hibernate | acpi button | HAL | partial | does the same as Fn-F4 (suspend), not hibernate. Both suspend and hibernate itself are broken. |
Fn-Home | brightness up | - | no | yes | changing thinkpad_acpi hotkey_mask, causes HAL events. But sysfs backlight brightness value does not change, so OSD is wrong. |
Fn-End | brightness down | - | no | yes | changing thinkpad_acpi hotkey_mask, causes HAL events. But sysfs backlight brightness value does not change, so OSD is wrong. |
Fn-PgUp | thinklight | - | no | yes | changing thinkpad_acpi hotkey_mask, causes HAL events. No OSD in any case. |
VolumeUp | Volume Up | - | no | yes | changing thinkpad_acpi hotkey_mask, causes HAL events. But OSD is wrong |
VolumeDown | Volume Down | - | no | yes | changing thinkpad_acpi hotkey_mask, causes HAL events. But OSD is wrong |
Mute | Mute | - | no | yes | changing thinkpad_acpi hotkey_mask, causes HAL events and OSD. works as a on/off toggle |
ThinkPad | Vendor key | thinkpad_acpi | HAL | partial | No default action, but can be associated with gnome-keybinding-properties |
Power | Power button | acpi button | HAL | yes | Need to press button for ~1 second to trigger event |
Lid | Lid button | acpi button | HAL | yes | |
Ultrabay | Ultrabay eject switch | - | udev | no | missing udev handler |