This manual is intended to help user to configure Gentoo distribution of the GNU/Linux operating system for Lenovo ThinkPad X200 notebook. It's supposed that user is skilled enough to install bare system from stage, compile kernel from source code, apply patches, etc.
Besides X200 users, this manual may also be useful for users of ThinkPads based on the same Centrino platform: R400, T400, X200s, X301.
This article and all information and products in it are provided on an "as is" basis, without warranty of any kind, either express or implied. Your use of this article is at your own risk.
- Hardware info
- Linux support summary
- Hot keys
- Fingerprint reader
- Web camera
- Media cards reader
- History of changes
|CPU||Intel Core2 Duo||CPU clock: 2,4 Ghz; Bus clock: 1066Mhz;|
|P8600 (Penryn)||Power: 25W; Features: SSE4.1, EM64T, IVT|
|L2 cache: 3MB; |
|North bridge||Intel GM45|||
|RAM||Lenovo 43R1988||Size: 4GB; Type: DDR3; Bus clock: 533 Mhz|
|Module name: PC3-8500; |
|South bridge||Intel ICH9-M|||
|Video||Intel GMA||Clock speed: 533Mhz; Vertex shader: 4.0;|
|4500MHD||Pixel shader: 4.0; OpenGL support: 2.1;|
|(Cantiga)||Decoding acceleration: VC-1, AVC;|
|Device id: 8086:2a42;|
|Storage||Samsung||Capacity: 128GB; R/W speed: 90/70 MB/s;|
|device||MMCQE28G8MUP||Size: 1.8in; |
|Audio||Conexant CX20561||Device id: 8086:293e|
|Ethernet||Intel 82567LM||Speed: 10/100/1000 MB/s;|
|Device id: 8086:10f5; |
|WiFi||Intel 5100||Protocols: 802.11b/g/n;|
|Security: WEP, WPA, WPA2;|
|Device id: 8086:1311; |
|Atheros AR5BHB63||Protocols: 802.11b/g;|
|Security: WEP, WPA, WPA2;|
|Device id: 168c:001c; |
|BlueTooth||Broadcom BCM2046||Device id: 0a5c:2145; |
|WAN||Ericsson F3507g||Modes: HSPA/WCDMA/EDGE/GPRS;|
|GPS:stand alone and assisted;|
|Device id: 0bdb:1900; |
|Card reader||?||Supported formats: MMC, SD, SDHC;|
|Fingerprint||AuthenTec||On-sensor fingerprint matching;|
|AES2810||Device id: 08ff:2810; |
|Web camera||Lenovo||Device id: 17ef:480c|
|Accelerometer||Analog Devices||Dual-axis; |
Linux support summary
|UltraBase||AC adapter||Works perfectly|
|Battery charger||Works perfectly|
|USB ports||Works perfectly|
|Video out VGA||Works perfectly|
|Audio out jack||Works perfectly|
|Audio mic jack||Works perfectly|
|Disk drive||Works perfectly|
|Eject handle||Works perfectly|
|Power button||Works perfectly|
|ACPI||UltraBase insert/eject||Works perfectly|
|Hot keys||Works perfectly|
|Brightness control||Works perfectly|
|Power management||Suspend to RAM||Works perfectly|
|Suspend to disk||Works perfectly|
|CPU frequency scaling||Works perfectly|
|Video||2D graphics||Works perfectly|
|3D acceleration||Minor issues|
|Video decoding acceleration||Untested|
|Audio||Internal speaker||Works perfectly|
|Audio out jack||Works perfectly|
|Audio mic jack||Works perfectly|
|Headphones mute speaker||Works perfectly|
|WiFi (Intel)||Works perfectly|
|WiFi (Atheros)||Minor issues|
|Fingerprint reader||Doesn't work|
|SD card reader||Works perfectly|
|Web camera||Works perfectly|
Kernel config for version 3.10.25 is available here. Few notes regarding the kernel config:
CONFIG_IWL5000if you have the Atheros WiFi card instead of the Intel card.
- If you have no Ericsson F3507g, you'll probably want to disable
- If you have no UltraBase, you'll probably want to disable
- If you use ExpressCards, you need to enable
CONFIG_HOTPLUG_PCI_PCIEand appropriate driver for the card. For example, eSATA cards based on the SiI 3132 chip require
Here is appropriate grub config. Special kernel parameters:
rootfstype=ext4- Optional parameter, which avoids error messages on startup. Not required for ext2/3.
acpi_sleep=s3_bios- Required to make suspend/resume work.
thinkpad_acpi.fan_control=1- Thinkpad acpi module parameter, described in the Fan control section.
dock.immediate_undock=0- Dock module parameter, described in the dock eject section. Not required for 2.6.31+.
acpi_osi="Linux"- ACPI parameter, described in the Hot keys section.
i915.modeset=1 video=1280x800- KMS settings, described the Video section.
clocksource=acpi_pm- Hides the annoying
tsc: Fast TSC calibration failedmessage during kernel statup.
If you use 2.6.39+ and want to change PCI-E bus policy, for example:
echo powersave > /sys/module/pcie_aspm/parameters/policy
then you need to add
pcie_aspm=force to the kernele command line.
The following is a list of kernel patches related to X200:
- ath5k_wifi_led-for-2.6.33.patch - Fixes led support by atk5k module, see kernel bug #12841 for details. Still required for 3.10.25.
- x200_dock.diff - Fixes audio out on docking station, see alsa-driver (Ubuntu) bug #285834 for details. This patch is no longer required for kernel version 2.6.30 and later.
- drm-i915-ensure-objects-are-allocated-below-4GB-on-PAE.patch -
Enables GEM on PAE systems, see this thread for details. This
patch is useful only for 32-bit systems with 4Gb+ RAM (when
- cdc-acm-fix.patch - Fixes USB ACM driver (
CONFIG_USB_ACM), which is required for F3507g. This patch is required for 2.6.31 only, see this thread for details.
- suppress-e1000e-error.patch - Suppresses useless error messages coming from e1000e driver. This patch is required for 2.6.31 only, see this thread for details.
- tuxonice-3.2-for-2.6.38.patch.bz2 - TuxOnIce implements suspend features, described in the Suspending section. Obsolete!
It's also necessary to compile two additional kernel modules:
hdaps, as described in HDAPS section.
The main config file for intel-video is xorg.conf. Few notes regadring xorg.conf:
DisplaySizeoption is required to set correct DPI of the built-in LCD (96).
- The Virtual parameter specifies the virtual screen resolution to be used. I
use 1280x800 internal screen and 1920x1200 external display, therefore max
1280 + 1920 = 3200and max height is 1200. See details here.
VIDEO_CARDS variable should include 'intel', see make.conf as
DisplayPort is now supported by intel driver and works quite well. video-out.sh is updated to use DisplayPort instead of VGA-out. Unfortunately the hardware doesn't allow us to enable two external monitors when the build-in display is on, because there are only two CRTCs available.
Kernel Mode-Setting (
CONFIG_DRM_I915_KMS) works fine except one minor issue
issue (glitchy dark colors). No problems with switching from/to
VT/Xorg, suspend-to-ram, suspend-to-disk, etc. Besides the parameter mentioned
above, it's necessary to enable
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY and add
video=1280x800 to your kernel command line. This enables inteldrmfb and sets
the proper video mode.
DRI is not working at maximum speed by default, so you should save this
~/.drirc to get maximum performance. After that, glxgears
shows approximately 1300fps.
The current driver (xf86-video-intel-2.17.0) supports only OpenGL-1.4.
Video decoding acceleration
VA-API acceleration support for G45 is finally available. Here is a
nice manual describing how to make it work on Gentoo. The only minor note I can
add is that mplayer from the latest ebuild (
crashes. I recommend to use
mplayer-1.0_rc4_p20110322-r51, it works fine.
CONFIG_SND_HDA_INTEL. I recommend to compile alsa-lib with all
ALSA_PCM_PLUGINS, see make.conf as example).
In general ALSA supports the conexant chip quite well: both internal speaker and mic work fine as well as audio in/out jacks. ALSA mutes the speaker when headphones are plugged in. The only problem I had with audio is the UltraBase audio out, which is already fixed (see kernel section for details).
If you enable
CONFIG_SND_HDA_POWER_SAVE, I recommend to disable power saving
of the sound controller in order to stop skipping of short sounds:
echo N > /sys/module/snd_hda_intel/parameters/power_save_controller
But even if you do this, the system may still miss some system beeps (when you (dis)connect AC cable, for example).
The radio switch toggles all wireless network connections: BlueTooth, WiFi, WAN and GPS.
ethtool may be used to detect whether ethernet cable is plugged or not.
Link detected field is reliable only when the
CONFIG_BT_HCIBTUSB. The card can be turned on/off via
/proc/acpi/ibm/bluetooth. Note that the card cannot be turned on when it's
powered off by radio switch.
The radio switch toggles the card and starts bluetooth service by default. If you don't want to turn the card on when radio switch is on, do the following:
- Remove the udev rule starting bluetooth service from
- Make the card turned on/off when bluetooth service is started/stopped, see bluetooth script for details.
lspci shows this card as AR5001, but the actual chipset name is AR5007EG .
This chipset is now supported by kernel (
CONFIG_ATH5K). So there's no
need to install madwifi driver. The in-kernel driver works quite well except
one issue: WiFi led is not working. Apply
ath5k_wifi_led-for-2.6.33.patch to your kernel in order to fix
Unfortunately, the driver does not support power management yet. But according to ath5k TODO List, developers are working on it.
It is also supported by kernel (
CONFIG_IWL5000), but the kernel driver
requires binary firmware:
echo "net-wireless/iwl5000-ucode ~amd64" >> /etc/portage/package.keywords emerge -av iwl5000-ucode
This driver does support power management, do the following to enable it on startup:
echo "iwconfig wlan0 power on" >> /etc/local.d/baselayout1.start
Regardless of the wifi card model being used, connection should be configured via wpa_supplicant, here are config examples: wpa_supplicant.conf, net (preup function checks whether radio is enabled). See Wireless Networking for details.
F3507g is supported by
CONFIG_USB_ACM. This driver is broken in 2.6.31, the
cdc-acm-fix.patch is required to make it work.
There are three device files assosicated with the card:
/dev/ttyACM0- Ericsson F3507g Mobile Broadband Minicard Modem.
/dev/ttyACM1- Ericsson F3507g Mobile Broadband Minicard Modem.
/dev/ttyACM2- Ericsson F3507g Mobile Broadband Minicard GPS Port.
The card needs to be turned on before you start using GPS or GPRS/EDGE/HSDPA.
The script f3507g turns the card on/off. Here's a bit
gpsd script; it configures and turns GPS on/off. This script should
be dependent on f3507g as well as net.ppp0. Both
gpsd use the
same config. GPS and WAN connections can be established
simultaneously, so don't be afraid to start both
net mentioned above contains ppp0 interface config for GPRS/EDGE
bearers. According to this manual, WWAN eats power even when the 3G
led is off. Therefore the
net scripts automatically turns the power on/off.
See the ThinkWiki manual for detailed reference how to work
There're several GPS clients available in portage. I recommend the TangoGPS, it works quite well with F3507g.
First of all, you need to install the ACPI daemon and add it to the boot runlevel:
emerge -av acpid rc-update add acpid boot
In order to enable event reporting for all supported hot heys, you need to set correct bit mask:
cat /sys/devices/platform/thinkpad_acpi/hotkey_all_mask > \ /sys/devices/platform/thinkpad_acpi/hotkey_mask
All ACPI keys are configured in the default.sh. The main advantage of ACPI hot keys is that they're not dependant on WM (which handles multimedia keys) and work even in console and SDL programs.
Here is a short description of the ACPI key bindings:
- Power - Turns the system off.
- Lid - Suspends to RAM (via TuxOnIce) if the system is not locked via Fn+F2. See lid.sh for details.
- Fn+F2 (lock) - Locks the system (via vlock) and starts tp-antitheft tool. See lock.sh for details.
- Fn+F3 (battery) - Toggles DPMS state of the built-in display (via xset). See display.sh for details.
- Fn+F4 (sleep) - Suspends the system to RAM (via TuxOnIce).
- Fn+F5 (radio) - Establishes PPP connection (GPRS/EDGE).
- Fn+F7 (video) - Toggles DisplayPort (via xrandr), external screen is located to the right of built-in screen. See video-out.sh for details.
- Fn+F8 (input) - Does nothing, because X200 has no touchpad.
- Fn+F9 (eject) - Tries to eject X200 from UltraBase station. Checks whether ultrabay disk drive or any USB devices connected via UltraBase hub are mounted. See ultrabase_eject for details. This script should not be located in the /etc/acpi/ directory, because it also handles udev events. See UltraBase section for details.
- Fn+F12 (hibernate) - Suspends the system to disk (via TuxOnIce).
- Fn+Home (brightness up) - Increases brightness level.
- Fn+End (brightness down) - Decreases brightness level.
- ThinkVantage - Generates scancode XF86Launch0 (183) via
acpi_fakekey. The scancode is handled by OpenBox and shows a system information dialog. See Hot keys section for details.
- Fn+Space (zoom) - Generates scancode XF86ZoomIn (182) via
acpi_fakekey. The scancode is handled by WM and toggles windows between built-in and external monitors. See Hot keys section for details.
- RF kill switch - Disables all wireless connections if activated and disables bluetooth if deactivated. See wireless.sh for details.
- Fn+PgUp (thinklight) is handled by kernel.
- AC plug in/out events are handled by cpufreq daemon.
- The source code of
acpi_fakekeyis available here.
All multimedia keys generate scancode and are described in Hot keys section.
Brightness is controlled by ThinkPad ACPI driver (
echo up > /proc/acpi/ibm/brightnessincreases brightness level,
echo down > /proc/acpi/ibm/brightnessdecreases brightness level
echo "level X" > /proc/acpi/ibm/brightnesssets a particular brightness level, where X is a number from 1 upto 15.
Barrery is supported by default ACPI driver (
provides some info in
/proc/acpi/battery/BAT0/info (capacity, voltage ,etc).
However, this info is not very useful. I recommend to install
module (see HDAPS for details), which provides lots of useful info in the
There are two ways to access sensors: via ACPI driver (
tp_smapi module. The first one provides
$ cat /proc/acpi/ibm/thermal temperatures: 43 48 -128 42 39 -128 37 -128 51 48 -128 -128 -128 ...
The second one provides 16 files via /sys interface:
/sys/class/hwmon/hwmon3/device/temp*.Here is a description of the values:
|5||Battery (main sensor)|
|7||Battery (secondary sensor)|
- 9 and 10 are supposed to be Northbridge and/or SSD. Unfortunately, smartctl can't detect the temperature of Samsung MMCQE28G8MUP yet, therefore we don't know this for sure.
ThinkPad ACPI driver supports auto fan control:
echo 'level auto' > /proc/acpi/ibm/fan
But if you want to tweak, for example, the temperature fan start spinning at, then do the following:
- Install fancontrol tool:
emerge -av lm_sensors.
pwmconfigto create a config file or just use this one, which specifies to use CPU core #1 as temperature sensor, to start fan spinning at minimum speed at 45° C and to set it at maximum speed at 60° C.
thinkpad_acpi.fan_control=1to your kernel command line.
- Add this into
/etc/conf.d/local.startin order to disable auto fan control:
echo level 1 > /proc/acpi/ibm/fan
CONFIG_ACPI_DOCK. Do the
following to undock from the UltraBase:
echo 1 >/sys/devices/platform/dock.0/undock
The eject button located on the UltraBase doesn't generate ACPI events, it generates udev events instead. In order to handle it properly do the following:
- Add corresponding udev rules. The rules assign
ultrabase_eject and ultrabase_insert scripts on
eject/insert events accordingly. The
ultrabase_ejectis used as ACPI Fn+F9 handler. The
ultrabase_insertestablishes eth0 connetion.
dock.immediate_undock=0to your kernel command line. It will cause the driver to wait for userspace to write the undock sysfs file before undocking.
CONFIG_X86_ACPI_CPUFREQ. There are three CPU frequencies
available: 2.40 GHz, 1.60 GHz and 800 MHz.
Install cpufreq packages in order to use frequency scaling:
emerge -av cpufreqd
cpufrequtils. cpufreqd is required, cpufrequtils is an optional package and
provides useful tools like cpufreq-info and cpufreq-set. Here is an
example of cpufreqd config file.
|AC||Battery, %||Brightness level||Governor||Exec|
All multimedia keys except the mute button generate scancode and all we need to do is to assign proper symnames via xmodmap. See .Xmodmap as example.
The mute button is handled by firmware by default and doesn't generate
acpi_osi="Linux" to your kernel command line to fix the issue.
The rc.xml is an example of symnames to actions bindings. XF86ZoomIn key (Fn+Space) toggles window between external and built-in displays. Works only in OpenBox patched with openbox-220.127.116.11-nextprev-xinerama.patch. XF86Launch0 shows an information dialog (tray.sh), which contains current time and date, battery status and level, brightness, CPU frequencies and governors, etc.
ACPI hot keys are described in the ACPI section.
Suspend-to-RAM (aka sleep or ACPI S3 state) is supported by
There are two well known ways to suspend-to-disk (aka hibernate): 1. Native Linux hibernator 2. TuxOnIce
I used to use TuxOnIce, but the kernels 2.6.39+ make 'OOPS' while hibernating to a file, see this thread for details. Unfortunatelly, I could resolve this problem. So I gave up and switched to native Linux hibernator.
Native hibernator / pm-utils
In order to use native hibernator, you need to enable
specify your swap partition either in
CONFIG_PM_STD_PARTITION or in the
resume kernel parameter.
Additionally, you may be interested in the following:
- 1.4.1-fix-inhibit.patch - fixes suspend inhibition when one of
the hooks fails and adds
ON_FAILUREconfig parameter, which allows to execute commands in this case.
- 00dpms - a hook which inhibits suspend when LCD is turned off, requires xrun.sh.
- 00fan - a hook which starts fan at maximum speed and enables fancontrol.
TuxOnIce / hibernate-script
Warning! This paragraph is obsolete. I recommend to use the native Linux hibernator.
TuxOnIce seems to be the best implementation of suspend-to-disk (aka hibernate). It can be used without initrd and allows you to suspend on a regular file (useful feature if you don't use swapping and have an SSD instead of an HDD). TuxOnIce comes as hibernate scripts and kernel patch. The patch for kernel v2.6.38 is availavle here: tuxonice-3.2-for-2.6.38.patch.bz2.
In order to install TuxOnIce, you need to:
- Apply the patch to your kernel sources.
- Install hibernate-script and s2ram:
emerge -av hibernate-script suspend
The hibernate scripts deal with both suspend-to-RAM (that's why it requires
s2ram) and suspend-to-disk. Therefore there're common suspend configs located
/etc/hibernate/ directory. The examples of config can be downloaded
Here are few notes regarding the config files:
Compressor lzois set, because LZF compression is no longer supported by TuxOnIce since LZO is now provided by kernel (2.6.25 and later).
OnResume 00 echo level 1 > /proc/acpi/ibm/fanis required to disable auto fan control. Remove this line if you don't use fancontrol.
UnloadModules ehci_hcdis a workaround of a problem with Trendnet TK-207 switch. You don't need this probably.
VerifyFilewriterResume2 nois no longer required for tuxonice-3.2-rc2 since it successfully resumes when the resume device is specified via UUID.
FilewriterLocation /hibernation_file 2048specifies location of the hibernation file. 2048 is the amount of disk space reserved for the hibernation file. This is used for the file allocator only.
For the file allocator it's also necessary to create a hibernation file:
The last thing to do is to add the
resume kernel parameter in the
grub.conf or as
CONFIG_PM_STD_PARTITION value in the
kernel config. Take a look at the
figure out its value. If you use TOI 18.104.22.168 or later, you will see something
See the TuxOnIce - Gentoo Linux Wiki manual for details.
HDAPS (Hard Drive Active Protection System) becomes unnecessary when an SSD is
used as a storage device. However, there are few other interesting applications
for the sensor (see below). Moreover, the package with HDAPS drivers (tp_smapi)
also contains the SMAPI (System Management Application Program
Interface) driver, which provides unique access to some hardware control
functionality like remaining running time, list
Don't use in-kernel support of HDAPS (
CONFIG_SENSORS_HDAPS), because this
module is obsolete and does not work with X200. Use the
app-laptop/tp_smapi-0.40 package instead, which provides another
module implementing HDAPS support. It works very well with X200.
In order to install the package, you need to do the following:
- Unmask the package (
echo 'app-laptop/tp_smapi ~amd64' >> /etc/portage/package.keywords) and install it (
emerge -av tp_smapi)
/etc/modules.autoload.d/kernel-2.6file to make gentoo load both modules automatically.
- Set correct HDAPS axis orientation:
echo 'echo 7 > /sys/devices/platform/hdaps/invert' >> /etc/conf.d/local.start.
Now HDAPS should be correctly configured. It can be tested using hdaps-gl tool
emerge -av hdaps-gl).
There are several programs that use HDAPS, for example, Neverball
emerge -av neverball). It requires joystick device (
CONFIG_INPUT_JOYDEV flag should be enabled in kernel config,
joystick should be added in the
USE variable as well as in
see make.conf for details. Joystick can be calibrated using
/dev/input/js0 -c. It's very fun to play neverball using HDAPS as joystick.
See these two videos as example: video1, video2.
CONFIG_MOUSE_PS2_TRACKPOINT. You may also want to emulate mouse
wheel, see example in the TrackPoint section of the xorg.conf.
If you use HAL, you may find this config for TrackPoint useful.
Unfortunately, fprint doesn't support AuthenTec AES 2810, according to this page. But I hope some day it will.
CONFIG_V4L_USB_DRIVERS. Works fine via V4L2 interface. The
webcam is capable to capture video in resolution up to 1280x960. MPlayer
package can be used to capture video (
v4l2 USE flag is required):
mplayer tv:// -tv driver=v4l2:width=1280:height=800
The following command records video into a file (
encode USE flag is
mencoder tv://1 -tv driver=v4l2:width=640:height=480:device=/dev/video0:\ fps=24:alsa:forceaudio:amode=0:adevice=hw.0,0:audiorate=22050 -oac mp3lame\ -lameopts vbr=3:br=32:mode=3 -ovc lavc -lavcopts vcodec=mpeg4:\ vbitrate=1200:keyint=300 -o webcamvideo.avi
tv://1- TV capture module
-tv- TV capture mode properties
driver=v4l2- TV input driver
width=640:height=480- output window resolution
device=/dev/video0- device to capture video from
alsa- capture audio from ALSA
forceaudio- capture audio even if there are no audio sources reported by v4l
amode=0- capture mono sound
adevice=hw.0,0- name of device to capture sound from
audiorate=22050- audio capture bitrate
-oac mp3lame- encode audio to MP3 (using LAME)
-lameopts- audio codec properties
vbr=3- average bitrate method
br=32- bitrate in Kbps
mode=3- encode mono sound
-ovc lavc- encode video with a libavcodec codec
-lavcopts- video codec properties
vcodec=mpeg4- encode video to MPEG-4
vbitrate=1200- bitrate in Kbps
keyint=300- maximum interval between IDR-frames (specifies seeking precision)
-o webcamvideo.avi- output file name
Ekiga works fine with video translation using h264 codec. Don't forget
ehci_hcd if it's compiled as module, web camera won't work otherwise.
Media cards reader
CONFIG_MMC_BLOCK. Works fine with SD and SDHC cards. It should
also support MMC cards, but haven't such one to test.
Supported by the thinkpad ACPI kernel driver. It is controlled by Fn+PgUp
combination or via
/proc/acpi/ibm/light. Don't forget to set proper
permissions to the light control file , because it's not accessible for
ordinary user by default:
echo 'chmod 666 /proc/acpi/ibm/light' >> /etc/conf.d/local.start
The ThinkLight is required for th-antitheft utility.
If you use pidgin IM client, you may want to install plugin, which uses ThinkLight to signal on new messages. Here is the source code of the plugin. TBD: create ebuild.
Here are few relevant benchmarks:
|Bootup (from grub to X11 WM)||25 sec|
|Suspend-to-disk aka hibernate (TOI-22.214.171.124, linux-2.6.32)||18 sec|
|Resume from suspend-to-disk (from grub, TOI-126.96.36.199, linux-2.6.32)||14 sec|
|Suspend-to-disk aka hibernate (native, linux-3.2.12)||14 sec|
|Resume from suspend-to-disk (from grub, native, linux-3.2.12)||13 sec|
|Suspend-to-RAM (linux-3.2.12)||2 sec|
|Resume from suspend-to-RAM (linux-3.2.12)||4 sec|
|emerge -eav world||7 h 20 m|
|Quake 3 (1280x800, high quality, xf86-video-intel-2.16.0, xorg-server-1.10.4)||104 fps|
|glxgears (linux-3.2.12, xf86-video-intel-2.17.0, xorg-server-1.11.2)||1391 fps|
|Idle consumption (SSD, CCFL panel, min brightness, no radios)||7.0 W|
- Intel® Core™2 Duo Mobile Processor P8600
- Mobile Intel® GM45 Express Chipset
- Lenovo 2GB PC3-8500 1066MHz DDR3 SODIMM Memory
- Intel® I/O Controller Hub 9 (ICH9) Family
- Mobile Intel® 4 Series Express Chipset Family
- Intel GMA - Wikipedia, the free encyclopedia
- ThinkPad 128 GB Solid State Drive Supplemental information
- Intel Wi-Fi Link 5100: Product Brief
- Atheros AR5BHB63
- Mobile Broadband Module F3507g
- Broadcom Corporation - BCM2046 - Single-Chip Bluetooth® EDR HCI Solution
- AuthenTec AES2810 Sensor
- Analog Devices ADXL320
History of changes
18 Jan 2014
The Kernel section, related patches and configs are updated for the version 3.10.25.
Updated the ultrabase eject script (the dock ID was changed from 0 to 2 in linux-3.10).
Added binding for the ThinkVantage button (updated OpenBox's rc.xml and .Xmodmap).
Uploaded proper version of the
acpi_fakekey tool, since there is a
widespread version of the tool, which does not generate
SYN_REPORT event and
won't work in linux-3.10.
15 Jun 2012
The Kernel section, related patches and configs are updated for the version 3.2.12.
Updated and extended benchmarks.
Fixed error is xorg.conf (DPMS was disabled).
Added a note about power saving of the audio codec.
Added smartctl log (3.5 years of extensive use and my SSD is still not dead - quite surprising).
Updated the fancontrol config.
Added a note about native Linux hibernator in the suspend-to-disk session.
Added VA-API manual in the Video section.
12 Nov 2011
Added few notes about Intel 5100 .
Updated information regarding the Atheros WiFi card.
01 Sep 2011
The Kernel section, related patches and configs are updated for the versions 2.6.38+.
Updated the fancontrol config.
Updated the Benchmarks section.
Added a note in the Video section regarding VA-API.
01 Apr 2011
The Kernel section, related patches and configs are updated for the version 2.6.36.
Added few notes regarding power consumption (in the following sections: Sound, WiFi, WWAN/GPS).
Added a note in the Video section regarding the kernel bug caused by KMS.
Updated the Web camera section (there is no more problems with capturing video at 1280x960).
06 Nov 2010
The Kernel section, related patches and configs are updated for the version 2.6.35.
26 Aug 2010
Added a note regarding SSD in the HDAPS section. Thanks to Anton Bolshakov.
19 Jul 2010
Added a note regarding ExpressCards in the Kernel section. Thanks to HK J.
13 Jul 2010
The fancontrol config is updated for lm_sensors-3.1.2.
10 Jul 2010
The Kernel section, related patches and configs are updated for the version 2.6.34.
28 Apr 2010
The Kernel section and related patches are updated for the version 2.6.33.
19 Mar 2010
Updated the cpufreqd config, because
/proc/acpi/ibm/brightness is no longer
provided by kernel, now the /sys is used interface instead.
15 Mar 2010
Added a note regarding video decoding acceleration.
Small update in the Ethernet section regarding
14 Feb 2010
Added a note regarding ACPI daemon in the Keys section. Thanks to HK J.
15 Dec 2009
Small update in the Web camera section regarding high resolutions.
13 Dec 2009
Added few notes regarding kernel 2.6.32 and KMS.
20 Nov 2009
The article is reformatted in MultiMarkdown syntax.
13 Sep 2009
Added few notes regarding kernel 2.6.31.
16 Jul 2009
Added HAL config for TrackPoint.
06 Jul 2009
Added the drm-i915-ensure-objects-are-allocated-below-4GB-on-PAE.patch. Thanks to Michael Fritzsch. Added a note in the Kernel section regarding x200_dock.diff and the latest kernel.
Added a note in the Suspending section about TuxOnIce for 2.6.30.
Added a note in the Video section regarding DisplayPort capabilities.
Added a note in the Video section regarding DRI2 support.
Slightly updated the kernel, grub, xorg configs and the ultrabase eject script.
Fixed wrong dates, which were specified in y/d/m format instead of y/m/d.
13 May 2009
First public release.