Lenovo ThinkPad X230

From ArchWiki

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: Needs a function keys section (Discuss in Talk:Lenovo ThinkPad X230)
Hardware PCI/USB ID Working?
Touchpad Yes
TrackPoint Yes
Keyboard Yes
Video 8086:0166 Yes
Webcam 04f2:b2ea Yes
Ethernet 8086:1502 Yes
Bluetooth 0a5c:21e6 Yes
SD-card reader 1180:e823 Yes
Audio 8086:1e20 Yes
Wireless 8086:0085 Yes
Mobile broadband 0bdb:1926 Untested
Fingerprint Reader 147e:2020 Yes

Firmware

fwupd does not support this device yet.

To update the firmware on the device, get the latest bootable CD and follow the steps in Flashing BIOS from Linux#Bootable optical disk emulation.

Display

If you experience that your brightness setting is not restored on resume from suspend, then create config:

/usr/share/X11/xorg.conf.d/20-intel.conf
Section "Device"
Identifier "card0"
Driver "intel"
Option "Backlight" "intel_backlight"
BusID "PCI:0:2:0"
EndSection

HD Graphics 4000 supports external 4K display and audio via display port to HDMI adapter, but requires to add 4K mode manually [1]

Input devices

Sound control buttons

Note: Laptop has single TRRS CTIA/Apple 3.5 mm audio jack (sleeve for a microphone).

Red LED mute indicators light up automatically, if corresponding channel muted in alsamixer. Easiest way to make buttons work is to install PulseAudio and its plugin for your desktop environment.

X230T (tablet version)

Wacom tablet input

Works out of the box with xf86-input-wacom. See Wacom tablet.

Multitouch screen for the X230t

Some X230t models have a multitouch screen in addition to the Wacom tablet. Works out of the box with xf86-input-libinput.

Touchpad

Warning: xf86-input-synaptics is no longer actively updated. If possible, use libinput.

Under certain circumstances, the touchpad may behave very jumpily. Ubuntu Bugtracker offers a solution for this issue. Install Touchpad Synaptics and create the following file:

/etc/X11/xorg.conf.d/50-synaptics.conf
Section "InputClass"
        Identifier "touchpad"
        MatchProduct "SynPS/2 Synaptics TouchPad"
        # MatchTag "lenovo_x230_all"
        Driver "synaptics"
        # fix touchpad resolution
        Option "VertResolution" "100"
        Option "HorizResolution" "65"
        # disable synaptics driver pointer acceleration
        Option "MinSpeed" "1"
        Option "MaxSpeed" "1"
        # tweak the X-server pointer acceleration
        Option "AccelerationProfile" "2"
        Option "AdaptiveDeceleration" "16"
        Option "ConstantDeceleration" "16"
        Option "VelocityScale" "20"
        Option "AccelerationNumerator" "30"
        Option "AccelerationDenominator" "10"
        Option "AccelerationThreshold" "10"
	# Disable two fingers right mouse click
	Option "TapButton2" "0"
        Option "HorizHysteresis" "100"
        Option "VertHysteresis" "100"
        # fix touchpad scroll speed
        Option "VertScrollDelta" "500"
        Option "HorizScrollDelta" "500"
EndSection

OpenCL

Thinkpad X230 based on Intel Ivy Bridge (3rd generation) platform which meets OpenCL 1.2 specification. Unfortunately GPU support in Linux is broken, so beignetAUR and intel-openclAUR will not work. Use CPU-only intel-opencl-runtimeAUR instead.

OpenCL computation performance differ between CPU and GPU, depending on task. In many cases GPU is preferable. For Core(TM) i5-3210M CPU, which incorporates HD Graphics 4000 GPU:

  • GPU hashcat -m2500 -b -D 2 --force reports 3095 H/s (checked in Windows)
  • CPU hashcat -m2500 -b -D 1 reports only 2660 H/s, which is the same as no-OpenCL aircrack-ng -S

In this example OpenCL does not give any advantage, and it is better to look for other options such as building native binaries for your system.

Power Saving

Main article: Power saving

TLP

Users of TLP need to pay attention to a hardware bug according to which it is recommended to only use either the upper or lower charging threshold. The following configuration is recommended by the developer of TLP.[2]

/etc/tlp.conf
START_CHARGE_THRESH_BAT0=67
STOP_CHARGE_THRESH_BAT0=100

UEFI

Laptop incorporates InsydeH2O® UEFI BIOS with classic text interface. It supports UEFI with Secure Boot, UEFI-CSM and Legacy BIOS modes.

Boot configuration

UEFI boot options can be safely (no bricking) set with efibootmgr or UEFI Shell v2 (checked with BIOS 2.77 (G2ETB7WW) EC 1.15). Though you can delete any boot variable, so be careful!

X230 in UEFI-non-CSM mode installed with EFISTUB on SSD disk boots into display manager in less than 25 seconds. Small ESP (100 MiB fat32) also supported.

USB UEFI update

Tip: There are unofficial firmware available, such as Coreboot or Heads in order to remove hardware whitelists and provide trusted boot.

All official updates, including Windows utility, Bootable CD and documentation can be found here. You can use geteltoritoAUR to create bootable USB images from the Bootable CD:

$ geteltorito.pl g2uj24us.iso > update.img 
# dd bs=512K if=update.img of=/dev/sdX

Insert USB stick, reboot and press F12, choose your USB. Follow the instructions.

Trusted Platform Module

Laptop has dedicated TPM 1.2 chip onboard[3][4]. It does not looks like it can be upgraded to TPM 2.0. Chip itself disabled by default sometimes, also owner clearing will not appear without Supervisor password set:

  1. Enter Thinkpad UEFI Setup by pressing F1
  2. Set Security > Password > Supervisor password
  3. Set Security > Security Chip > Security Chip [Active]
  4. Save settings by pressing F10 and reboot
  5. Turn laptop off, turn on and UEFI option Security > Security Chip > Clear Security Chip eventually will appear.

Process described in "ThinkPad X230 and X230i User Guide", Chapter 4. Security > Setting the security chip.

Known issues

  • There is a BIOS bug that gets in the way of the boot process with LUKS and full-disk encryption. The user is stuck at the "Loading initial ramdisk" step, and does not see a password prompt to unlock the encrypted device. You can actually enter your password at this step, and boot-up will continue. However, updating the BIOS will resolve this completely. If you are using coreboot as a BIOS replacement, you can fix this issue by adding 'i915' to the MODULES list in /etc/mkinitcpio.conf and rebuilding your initrams with mkinitcipio -p.
  • UEFI option to clear TPM not working. STM chip datasheet describes physical presence pin, which, probably, can be used as workaround.

See also