comment 0

Running Ubuntu 18.04 on a ThinkPad X1 Carbon 6th Gen

This post is meant to serve as a note to my future self in case I need to setup my laptop again, but I’m sure it’ll be useful to many other ThinkPad X1C6 users, judging from the Lenovo forums. The goal is to aggregate all the steps required to make the laptop run Ubuntu smoothly in an easy to follow list.

Abstract

Although Lenovo has a reputation for running Ubuntu flawlessly, certain updates to the hardware have caused issues on the 6th gen X1 and the 3rd gen Yoga.

Problems

UPDATE: The first two problems (no confirmation on 3rd problem) seem to be fixed in 1.30 BIOS update. Disabling Secure Boot, and enabling Thunderbolt BIOS Assist Mode is no longer necessary. Woohoo!

  • Touchpad buttons, TrackPoint and right button action don’t work
  • Battery is drained at around 2-4%/hour while laptop in suspended mode.
  • CPU is throttled

Solutions

  • Touchpad buttons, TrackPoint and right button action don’t work. Solution found here:
    • Comment out i2c_i801 line from /etc/modprobe.d/blacklist.conf.
    • Add psmouse.synaptics_intertouch=1 to boot options in /etc/default/grub. Line should look something like this:
      GRUB_CMDLINE_LINUX_DEFAULT="quiet splash psmouse.synaptics_intertouch=1".
    • Save file and run sudo update-grub so that the config file is regenerated.
    • Although this is enough to get it working, sometimes the TrackPoint is dead after resume, so we need to fix that. Add this script to /lib/systemd/system-sleep/resume-x1-fix.sh (gets executed every time the system resumes from sleep).
  • Battery is drained at around 2-4%/hour while laptop in suspended mode. The problem here is that Lenovo removed BIOS support for S3 mode in favor of Windows Modern Standby. We need to patch the ACPI table to add back support for S3 deep sleep mode.
    UPDATE: This problem is supposedly addressed in the 1.30 BIOS update. There is now a choice in the BIOS regarding which OS is supported (Linux or Windows 10), so the following instructions should no longer be necessary (please comment if you have tested this setting on a system without the patch).

    • Follow instructions in https://delta-xi.net/#056, but with updated patch.
    • Add mem_sleep_default=deep to GRUB_CMDLINE_LINUX_DEFAULT boot options in /etc/default/grub.
    • In order for /boot/acpi_override to be added automatically on update-grub, edit the /etc/grub.d/10_linux template and add /boot/acpi_override to the following line: initrd ${rel_dirname}/${initrd} (i.e. initrd /boot/acpi_override ${rel_dirname}/${initrd}).
    • Run sudo update-grub again and reboot the laptop.
    • Enter BIOS setup:
      • Set Thunderbolt BIOS Assist Mode to Enabled.
      • Security - Secure Boot must be disabled.

Optional changes in Ubuntu configuration

In case you’re dual-booting with Windows, as I am, make GRUB remember last OS booted, by editing /etc/default/grub with the following changes:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

As usual, run sudo update-grub once you’re finished.

To set area click method, run gsettings set org.gnome.desktop.peripherals.touchpad click-method 'areas' in the terminal.

Filed under: IT

About the Author

Posted by

Go Core Team Lead @ Status.im (remote), previously Windows Team Lead @ Plex (remote), Architect, Codebase Whisperer, DevOps enthusiast, Continuous Learner