Difference between revisions of "Lenovo ThinkPad X1 Carbon (Gen 6)"
(→TrackPoint and Touchpad issues: Update TrackPoint instructions as new kernels already include rmi_smbus/RMI4 fixes) |
(→TrackPoint and Touchpad issues: Add warning about TLP for pointing devices) |
||
Line 138: | Line 138: | ||
or by editing {{ic|/etc/modules-load.d/psmouse.conf}}: | or by editing {{ic|/etc/modules-load.d/psmouse.conf}}: | ||
psmouse synaptics_intertouch=1 | 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}} | ||
== References == | == References == |
Revision as of 18:52, 13 May 2018
Contents
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 | Untested | ? |
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 | Untested | ? |
Keyboard Backlight | Yes | ? |
Function/Multimedia Keys | Yes | ? |
* via workaround
** progress being made on driver
Suspend issues
Suspend-to-RAM (S3) not supported by default
The 6th Generation X1 Carbon supports S0i3 (also known as Windows Modern Standby) and does not support the S3 sleep state. A guide exists with instructions for patching ACPI DSDT tables to add S3 support.
A forum thread has further discussion related to this issue.
S0i3 sleep support
From the Lenovo forums: Add the following kernel parameter to enable s0i3 sleep support:
acpi.ec_no_wakeup=1
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
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.
Temporary fix
Until Lenovo fixes this issue, you can manually set the limit.
To begin, install msr-toolsAUR.
Create the file /usr/local/bin/cpu-throttling.sh
(making it executable) containing the following:
#!/bin/bash /bin/modprobe msr wrmsr -a 0x1a2 0x3000000 # which sets the offset to 3 C, so the new trip point is 97 C
Then create the associated service file /etc/systemd/system/cpu-throttling.service
:
[Unit] Description=set cpu heating limit to 97°c [Service] ExecStart=/usr/local/bin/cpu-throttling.sh RemainAfterExit=no [Install] WantedBy=timers.target
And also the timer in /etc/systemd/system/cpu-throttling.timer
:
[Unit] Description=set cpu heating limit to 97°c every minute [Timer] OnActiveSec=60 OnUnitActiveSec=60 Unit=cpu-throttling.service [Install] WantedBy=timers.target
Then, enable it:
# systemctl enable cpu-throttling.timer
Reboot and check with:
# rdmsr -f 29:24 -d 0x1a2 3
TrackPoint and Touchpad issues
On the 20KG model, the Touchpad(Synaptics) and TrackPoint(Elantech) do not work together, one has to disable the TrackPoint in BIOS to get the Touchpad to work reliably out of the box. The root of the issue seems to be that the default loading of the TrackPoint via ancient PS/2 drivers conflicts with Touchpad loading. Synaptics has introduced a new way of doing things named RMI(4) that fixes some those issues. Further explanation is collected in this thread.
Then 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/modules-load.d/psmouse.conf
:
psmouse synaptics_intertouch=1
References
- A good night's sleep for the Lenovo X1 Carbon Gen6: Patching ACPI DSDT tables to add S3 support
- Lenovo forums: Cannot enter deep sleep S3
- Thread: No deep sleep: Includes DSDT patching solution and further discussion
- T480s throttling bug, affects X1C6 as well
- Lenovo forums: T480s low cTDP and trip temperature in Linux
- Thread: TrackPoint/Touchpad issues, 20KG model
- StackExchange: Success with enabling RMI4 config flags for Touchpad and TrackPoint
- Kernel patch - Input: elantech - add support for SMBus devices
- Kernel patch - Input: synaptics - add Lenovo 80 series ids to SMBus
Additional resources
- ThinkWiki X1 Carbon 6th Gen page
- Benjamin Tissoires, kernel maintainer of peripherals, has explained how input bugs get fixed in his talk Tools to debug a broken input device (Slides), especially interesting are slides 16 onward.
- Dell XPS 13 9370 quirks: Some pointers on getting Watt usage down to ~2W, Intel video powersaving features might be interesting, see also Intel Graphics Powersaving
- Dell XPS 13 (9360): Shares some hardware with the X1C6
- Intel Blog: Best practice to debug Linux* suspend/hibernate issues, including the pm-graph tool to analyze power usage during suspend