Lenovo ThinkPad X1 Carbon (Gen 2)

Hardware

Almost everything works out of the box. Most of the hardware is based on the Intel Lynx Point reference design.

Power Management

The kernel module thinkpad_acpi picks up most of the sensors. The kernel module tp_smapi is not currently supported. PCIe ASPM does not currently work.

Udev does not not notify whenever battery discharges by 1%, but it does notify at 80%, 20%, 5%, 4% and 0%. To take advantage of this, see (Suspend On Low Battery Laptop#Hibernate on low battery level)

Wake From Suspend

Wake from suspend can be buggy with earlier versions of the bios, see:

This can be solved by flashing the bios to a version >=1.13. Look here for Lenovo's bios versions:

A guide how to make a bootable BIOS key drive can be found here:

And some fairly old help from Lenovo here:

If the function keys fail to wake after suspend, ensure you have a kernel version >=3.15.

If you build your own kernels, make sure to either enable TPM (Trusted Platform Module) drivers or disable the Security Chip in the BIOS.

Keyboard

On kernel 3.14 and lower the adaptive panel at the top of the keyboard is locked to function mode.

From kernel 3.15, Home mode is also available which allows access to screen brightness and other controls.

If you wish to remap keys to get back to a sane keyboard layout, you can use either xmodmap or other input remap utilities.

Trackpad

To enable Trackpad support you need to install .

Lock-ups on click

There are significant issues with the trackpad locking up on click. This is due to the trackpad operating in buggy PS/2 mode.

One alternative is to abandon the trackpad completely and use the trackpoint. Make sure xf86-input-synaptics is not installed - the trackpad will still register button one mouse clicks. Using xbindkeys Xbindkeys and , right button clicks can be mapped to some other event. For example:

~/.xbindkeysrc
# Emit a right click on Alt + trackpad click
"xdotool click 3"
  Mod1 + b:1 + Release

Tweaking trackpad behavior

The behavior of the trackpad by default can be contrary to your expectations, particularly if you are coming from an OS X style trackpad. The following settings can help significantly:

/etc/X11/xorg.conf.d/99-x1carbon.conf
# Copy this to /etc/X11/xorg.conf.d/99-x1carbon.conf
 Section "InputClass"
     Identifier "X1 carbon stuff"
     MatchIsTouchpad "on"
     MatchDevicePath "/dev/input/event*"
     Driver "synaptics"

     # Enable two finger scrolling vertically, disable horizontally
     Option "VertTwoFingerScroll" "1"
     Option "HorizTwoFingerScroll" "0"

     # No scrolling along the edge
     Option "VertEdgeScroll" "0"
     Option "HorizEdgeScroll" "0"

     Option "LockedDrags" "0"
     Option "FingerPress" "1"

     # Turn off the blasted corners as buttons
     Option "RTCornerButton" "0"
     Option "RBCornerButton" "0"
     Option "LTCornerButton" "0"
     Option "LBCornerButton" "0"

     # Ignore "taps" and listen for "clicks"
     Option "TapButton1" "0"
     Option "TapButton2" "0"
     Option "TapButton3" "0"
     Option "ClickFinger1" "1" # Left click one finger
     Option "ClickFinger2" "3" # Right click two fingers
     Option "ClickFinger3" "0" # Three finger click disabled

     Option "TapAndDragGesture" "0"

     # No circular scrolling
     Option "CircularScrolling" "0"
 EndSection

If you are using gnome-shell, you may need to tell the settings app not to overwrite our changes:

gsettings set org.gnome.settings-daemon.plugins.mouse active false

Touchpad not working after wake up from sleep

See here: Touchpad Synaptics#Touchpad does not work after resuming from hibernate/suspend

Keyboard backlight

Works out of the box. there is a button on the soft keyboard to toggle it between off, low, and high brightness.

Automatically turn on backlight when typing

Using a c program that continuously checks for keyboard input, it is possible to activate the backlight for a certain time. The program source is as a follows

This file can be compiled with:

 gcc -O2 -o kbdbacklight kbdbacklight.c

and must be executed as root.

It would be possible to autostart this by creating a systemd service as follows:

  • Create a folder /usr/local/customscripts/kbdbacklight/
  • Save the compiled c program to /usr/local/customscripts/kbdbacklight/kbdbacklight
  • Create the following bash script in the same folder:
  • Create the following systemd service and place it in /etc/systemd/system/kbdbacklight.service

Audio

Sound works out of the box. Uses the snd_hda_intel kernel module. You may need to add default sound card options to the module.

In /etc/modprobe.d/alsa-base.conf include the following line:

options snd_hda_intel index=1

Processor

See Microcode how to update to processor's microcode.

BIOS UPDATE

To install a BIOS update from linux, download the bootable iso from here

Since there is no CD drive, this method can be used (German).

Add ALSA-Preamplifier

It is a common problem on laptops running linux that the sound, even on maximum, is not loud enough. This can be fixed by adding an ALSA preamplifier.

Install .

Change the config in /etc/asound.conf to the following ( you might have to adjust the cardnumber):

Taken from here. WARNING: It is possible to permanently damage your loudspeakers if you turn it up too much!

Wired

There is a small port on the right side for Ethernet. An adaptor is required. In case of loss of the adaptor, the part number is for ordering is 04X6435.

Wireless

Works out of the box. The module should be automatically loaded by udev.

$ lspci
Network controller: Intel Corporation Wireless 7260 (rev 83)

Touchscreen

Works out of the box as single touch. The hardware is multitouch, but current stable drivers only support left-click mouse emulation. Seems to work with Touchegg.

GPU

The video card installed is an integrated Intel Haswell GPU. See intel for more info.

HiDPI

Since the display has such a high pixel density, you might encounter problems. See here: HiDPI

Xbindkeys

For alternative window managers (Fluxbox, etc..), try installing xbindkeys and adding the following to

"xbacklight -dec 5"
  XF86MonBrightnessDown
"xbacklight -inc 5"
  XF86MonBrightnessUp

KMS

Get KMS working by adding i915 to the modules line

Then regenerate your initramfs:

# mkinitcpio -p linux

Webcam

Works out of the box.

Fingerprint Reader

The fingerprint reader is a Validity Sensors model (138a:0017) also used on the Thinkpad X240 and T440. ThinkFinger does NOT support this reader.

This fingerprint reader works with the current release of fprint.

WWAN (Mobile broadband)

The SIM-card must be inserted in the back of the laptop.

This is usually a Sierra Wireless EM7345. It uses the cdc_mbim kernel module from kernel 3.14 forward. Since Gnome 3.14.1 it works with NetworkManager after installing modemmanager (after a reboot to catch the udev event).

GPS

This is provided by the Sierra Wireless EM7345. mbim_gpsd is required as well as a udev rule.

Untested

Bluetooth

Works out of the box after enabling bluetooth.service.

gollark: 1. place adapter beside ender chest2. place relay beside adapter3. connect relay, ender chest to ocmputer4. run program
gollark: Nothing.
gollark: Unless you want to know how to operate it.
gollark: Magic.
gollark: I have some example setups (with an extra chest because they're used as mail) in my base.

See also

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.