Lenovo ThinkPad X230

From ArchWiki
Revision as of 15:35, 24 December 2012 by Bassu (talk | contribs) (Suspension)
Jump to navigation Jump to search

Template:Article summary start Template:Article summary text Template:Article summary end

Lenovo ThinkPad X230 comes off with a wide range of available configurations. Since Lenovo's acquisition of ThinkPad brand from IBM, it has received lots of negative critics for not maintaining the original quality and compromising the brand itself. Regardless, ThinkPad still is one of the first preferences for many geeks, students (mainly due to student discounts) and Linux users. It is the standard option available in Lenovo's X Series under 12-13 inches display category.


Few things that are not liked:.

  • The build "looks like" fairly cheap. It seems to be okay but not something extra-ordinary. Thinkpads are known for sturdiness and ruggedness; X230 is also but there is a 'plastic' feel.
  • The color at the bottom of wrist pad started to fade at small places cause of scratches in normal use - by placing it on hard surfaces like raw wood and marble.
  • X230 has a new keyboard. I have no complains about it except that of function keys. They are raised few millimeters higher than other keys and one can willingly manage to peel them off cause of their half-open bottoms.
  • Track pad is totally useless. It is small. Though the cursor movement works but not the buttons because the touch pad itself is one big pushable button. Its designers perhaps struggled with space availability due to Trackpoint buttons leaving very less space for the touch pad. For Trackpoint users and fans, it may not be much of a deal breaker as the Trackpoint is more productive for them.
  • There are some parts that are not rigid, give away a feeling that they might not be well manufactured and are press-able -- like area under Thinkpad logo on top lid and hollow express card slot.
  • Smaller resolution of 1366x768. Not that of an issue for me because smaller screen size of 12.5 inches still gives some good working space but I could make use of more if it was 1080p or higher. But again, it still seems to be a standard screen resolution from other vendors, currently!


  • Steel hinges that hold the top lid. Eases the lid movement.
  • Of course, the 180 degrees bending LCD.
  • Crunchy IPS display.
  • TrackPoint -- the pointing stick.
  • Island-style keys give a grip for touch typing.
  • Good inner chassis can be found if you disassemble this laptop.
  • Ambient system temperatures and the uptime with Arch!


Below is the short list for this setup. After-market RAMs and SSD were bought because Lenovo is apparently charging a lot for these.

Tested Configuration

Feature Configuration
System X230 2306CTO
CPU Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
Graphics Intel HD 4000 - Ivy Bridge
Ram 3.5GB (Kingston)
Disk Crucial M4 120GB SSD
Display 12.5" IPS
Wireless 2x2 Centrino Wireless-N 2200
Built-in Battery 9 Cell
Additional Plugable Battery 6 Cell 19+
Backlit Keyboard No
ThinkLight Yes
Fingerprint Scanner Yes
Bluetooth Yes
Cam Yes


Everything works fine out-of-box except the biometric / fingerprint scanner cause of missing driver. X230 comes with a newer model of chip from Upek. Its manufacturer Authentec was contacted and we found that they only support Windows operating system. So for now, the Upek model with PCIE ID 147e:2020 or newer will remain unsupported in Linux until someone writes an open source driver.

System Configuration


Configured as usual with readahead and the below services.

  • NetworkManager
  • cups
  • slim
  • sshd
  • syslog-ng
  • vnstat
  • cronie
  • atd

Boot time was as roughly ~4-5 seconds.


Note: You may want to run 'linux-ck' instead of the default kernel to conserve power and to fix iwlwifi issue with system sleep and wakeup. See power saving section below

If you really want to cut power then neither the stock kernel nor the Arch supplied kernel is optimized to run on any laptop efficiently. Try the patched kernels like linux-ck or linux-pf instead.

HOOKS="base udev autodetect block filesystems usbinput fsck plymouth"
options i915 i915_enable_rc6=1 i915_enable_fbc=1 lvds_downclock=1
options iwlwifi 11n_disable=1


Pretty much self-explanatory.

Section "InputClass"
    Identifier	"Trackpoint Wheel Emulation"
    MatchProduct	    "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device"
    MatchDevicePath	    "/dev/input/event*"
    Option		    "EmulateWheel"        "true"
    Option		    "EmulateWheelButton"  "2"
    Option		    "Emulate3Buttons"	  "false"
    Option		    "XAxisMapping"	  "6 7"
    Option		    "YAxisMapping"        "4 5"

Power Saving

Use 'powerdown' to save power. On this setup, it gave 14+ hours on a 9 cell battery and 6+ hours on plugable 6 cell external battery, with normal usage of cmus, firefox and thunderbird. Power saving kernel parameters in addition to graphics card power saving, are as under.

grep GRUB_CMDLINE /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet ipv6.disable=1 elevator=bfq"
GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd pcie_aspm=force"


Warning: If you suspend your system quite often, it is inevitable that you will stumble upon a wireless driver iwlwifi bug with errors 'fifo queues full' in dmesg. It is caused by weird PCIEM power control behaviors and is inhibited in all default kernels (as of writing 3.7.1-3). The only fix is to either enable PREEMPT & BFS with custom compiled kernel or use an optimized kernel like linux-ck as reported by forum user Bassu. Default kernels are not suitable for power-conservation anyway. Check https://bbs.archlinux.org/viewtopic.php?pid=1209357 for details.

Sleep/suspension and unsuspension can be easily managed by systemd without setting it up in Desktop Environment applet or pm-utils. But there are some modules that must be loaded off and on every time the system is put to sleep or is awaken. And it is quite fast with systemd anyway.


if [ "$1" = "pre" ]; then
   /sbin/hwclock -w
#  /sbin/modprobe -rvf iwldvm
#  /sbin/modprobe -rvf iwlwifi

if [ "$1" = "post" ]; then
   /sbin/hwclock -w
        /sbin/modprobe -rvf iwldvm
        /sbin/modprobe -rvf iwlwifi

	/sbin/modprobe -v cfg80211
	/sbin/modprobe -v mac80211
	/sbin/modprobe -v iwldvm
	/sbin/modprobe -v iwlwifi

Put vboxdrv in it too, if you use VirtualBox. There is also an issue with system shutdown with power saving tools that cannot distinguish sys devices. You will need to add to the systemd shutdown trigger on this machine or else you'll get a system reboot when you shutdown the machine. Put this in /etc/rc.local.shutdown and update and enable its service, if not already.

# /etc/rc.local.shutdown: Local shutdown script.
# A script to act as a workaround for the bug in the runtime power management module, which causes thinkpad laptops to restart after shutting down. 
# Bus list for the runtime power management module.
buslist="pci i2c"
for bus in $buslist; do                                                             
  for i in /sys/bus/$bus/devices/*/power/control; do                              
    echo on > $i
Description=/etc/rc.local.shutdown Compatibility
After=rc-local.service basic.target