Difference between revisions of "Lenovo ThinkPad X1 Carbon (Gen 6)"

From ArchWiki
Jump to navigation Jump to search
(Lenovo has joined the Linux Vendor Firmware Service project. Easy alternative for BIOS updates through fwupd)
Line 67: Line 67:
  
 
=== Updates ===
 
=== Updates ===
 +
 +
Lenovo has now joined the [https://fwupd.org/ Linux Vendor Firmware Service] project that makes updating the X1C6 Firmware even easier.
 +
 +
==== Automatic Linux Vendor Firmware Service ====
 +
 +
BIOS updates can be easily done through the [[fwupd]] deamon ([[Install]] {{Pkg|fwupd}}) that is provided through the [https://fwupd.org/ Linux Vendor Firmware Service].
 +
 +
==== Manual Installation ====
 +
 
[https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x1-carbon-6th-gen-type-20kh-20kg/downloads BIOS update 1.27] was released on 2018-07-28. Obtain {{aur|geteltorito}} and run {{ic|./geteltorito.pl -o bios-update.img n23ur09w.iso}} on the downloaded ISO file to create a valid [[wikipedia:El_Torito_(CD-ROM_standard)|El Torito]] image file, then flash this file on a USB drive via {{ic|dd}} like you would flash [[USB_flash_installation_media|Arch installation media]]. For further information see [[Flashing_BIOS_from_Linux#Bootable_optical_disk_emulation|flashing BIOS from Linux]].
 
[https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x1-carbon-6th-gen-type-20kh-20kg/downloads BIOS update 1.27] was released on 2018-07-28. Obtain {{aur|geteltorito}} and run {{ic|./geteltorito.pl -o bios-update.img n23ur09w.iso}} on the downloaded ISO file to create a valid [[wikipedia:El_Torito_(CD-ROM_standard)|El Torito]] image file, then flash this file on a USB drive via {{ic|dd}} like you would flash [[USB_flash_installation_media|Arch installation media]]. For further information see [[Flashing_BIOS_from_Linux#Bootable_optical_disk_emulation|flashing BIOS from Linux]].
  

Revision as of 15:38, 1 September 2018

Tip: A great resource for thinkpads is https://www.thinkwiki.org/wiki/ThinkWiki

Model description

The Lenovo ThinkPad X1 Carbon, 6th generation is an ultrabook introduced in early 2018. It comes in several variants(20KH* and 20KG*) and features a 14" screen, 8th-gen Intel Core processors and integrated Intel UHD 620 graphics.

To ensure you have this version, install the package dmidecode and run:

# dmidecode -t system | grep Version

Version: ThinkPad X1 Carbon 6th

Support

Device Working Modules
Intel graphics Yes i915, (intel_agp)
Wireless network Yes iwlmvm
Native Ethernet with included dongle Yes ?
Mobile broadband No*** ?
Audio Yes snd_hda_intel
Touchpad Yes* psmouse, rmi_smbus, i2c_i801
TrackPoint Yes psmouse, rmi_smbus, i2c_i801
Camera Yes uvcvideo
Fingerprint Reader No** ?
Power management Yes ?
Bluetooth Yes btusb
microSD card reader Yes scsi_mod
Keyboard Backlight Yes thinkpad_acpi
Function/Multimedia Keys Yes ?

* via workaround

** progress being made on driver

*** no working linux pcie driver for Fibocom L850-GL forum link - also see this forum for more progress.

BIOS

The most convenient way to install Arch Linux is by disabling "Secure Boot" Security -> Secure Boot - Set to "Disabled". However it is possible to self-sign your kernel and boot with it enabled. For further information have a look at the Secure Boot article.

In case your efivars are not properly set it is most likely due to you not being booted into UEFI. Should the problem persist be sure to consult the UEFI#UEFI variables section.

Updates

Lenovo has now joined the Linux Vendor Firmware Service project that makes updating the X1C6 Firmware even easier.

Automatic Linux Vendor Firmware Service

BIOS updates can be easily done through the fwupd deamon (Install fwupd) that is provided through the Linux Vendor Firmware Service.

Manual Installation

BIOS update 1.27 was released on 2018-07-28. Obtain geteltoritoAUR and run ./geteltorito.pl -o bios-update.img n23ur09w.iso on the downloaded ISO file to create a valid El Torito image file, then flash this file on a USB drive via dd like you would flash Arch installation media. For further information see flashing BIOS from Linux.

The ThinkPad X1 Carbon supports setting a custom splash image at the earliest boot stage(instead of the red "Lenovo" logo), more information can be found in the README.TXT located in the FLASH folder of the update image.

Suspend issues

The 6th Generation X1 Carbon supports S0i3 (also known as Windows Modern Standby), but not S3 out of the box. Missing S3 also causes hybrid-suspend to go directly to hibernate. Thankfully, S3 can be enabled through an ACPI override.

Enabling S3

First, verify S3 is not currently available by running the following command and making sure S3 is not listed in the supported modes.

dmesg | grep -i "acpi: (supports"

To enable S3 support, there is an automatic patching script x1carbon2018s3, that was written with full instructions on both enabling S3 and verifying the patch worked. Follow the instructions in the repository and verify with the above command afterwards.

The automatic script was based off of a guide written with instructions for patching ACPI DSDT tables to manually add S3 support. A forum thread has further discussion related to this issue.

Enabling S2idle

Note: Since kernel version 4.18-rc2 acpi.ec_no_wakeup=1 is set by default

From the Lenovo forums: Add the following kernel parameter to enable S2idle support:

acpi.ec_no_wakeup=1

For example, for GRUB, one might edit /etc/default/grub and edit GRUB_CMDLINE_LINUX_DEFAULT:

GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi.ec_no_wakeup=1"

then perform

sudo update-grub

and restart the system.

Note: This supports only S2idle state, not S0i3 state as some seem to have been led to believe!

You might also need to disable the Realtek memory card reader (which appears to use a constant 2-3 W) either via the BIOS or via

echo "2-3" | sudo tee /sys/bus/usb/drivers/usb/unbind

The power consumption might still be higher than that of the S3 state in this case.

BIOS configurations

  • Config -> Thunderbolt BIOS Assist Mode - Set to "Enabled". When disabled, on Linux, power usage appears to be significantly higher because of a substantial number of CPU wakeups during s2idle.

Power management/Throttling issues

Due to wrong configured power management registers the CPU may consume a lot less power than under windows and the thermal throttling occurs at 80°C (97°C when using Windows, see T480s throttling bug).

There is a post in the official Lenovo forum to inform Lenovo about this issue.

Throttling fix

An easy package has been written to address the problem until (or if) Lenovo ever solves it.

Install lenovo-throttling-fix-gitAUR, then run:

sudo systemctl enable --now lenovo_fix.service

The script also supports more advance thermal/performance features including CPU undervolting. See the lenovo-throttling-fix repository README.md for details.

Note: If you installed thermald, it may conflict with the throttling fix in this package. Consider disabling thermald or otherwise work around this.

TrackPoint and Touchpad issues

Note: Some models of the 6th generation X1 Carbon seem to have issues with the TrackPoint and Touchpad working at the same time.

To get the TrackPoint and Touchpad to work at the same time, add synaptics_intertouch=1 to the psmouse kernel module options, for example in the cmdline of the boot loader:

 [...] root=/dev/sda1 rw psmouse.synaptics_intertouch=1 [...]

or by editing /etc/modprobe.d/psmouse.conf:

 options psmouse synaptics_intertouch=1
Note: When using TLP with default powersaving settings, there might be occasional hiccups such as dropouts of tap-to-click functionality for the Touchpad, as well as the TrackPoint not surviving suspends and needing to be re-initialized.

Reconnecting a dead trackpad can be done via

echo -n "none" | sudo tee /sys/bus/serio/devices/serio1/drvctl
echo -n "reconnect" | sudo tee /sys/bus/serio/devices/serio1/drvctl

A bug in the libinput library that caused dropouts of the tap-to-click functionality of the touchpad on the X1 Carbon 6th Gen has been fixed in libinput 1.11.2, which was released on 3 July 2018.

Full-disk encryption

Ramdisk module

With LUKS for root, i915 needs to be loaded in ramdisk in order to access the password prompt. Add i915 to MODULES list in /etc/mkinitcpio.conf and regenerate the ramdisk.

Tools

Diagnostics

s-tui (s-tuiAUR): an aesthetically pleasing and useful curses-style interface that shows graphs of CPU frequency, utilization, temperature, and power consumption. It also has a built in stress tester.

intel_gpu_top (intel-gpu-tools): gives you some top-like info for the integrated GPU. This can be quite useful in diagnosing GPU acceleration issues.

powertop (powertop): provides detailed information about CPU power consumption and recommendations on how to improve it.

tlp-stat (tlp): a much simpler alternative to remembering which cat /sys/devices/system/* to run in many cases. It can give very detailed, structured information about components like the battery, processor, graphics card, etc.

References

Additional resources