Skip to content

Instantly share code, notes, and snippets.

@rriemann
Forked from JZfi/x1c6.md
Created August 24, 2018 22:11
Show Gist options
  • Save rriemann/4568c9257caaf3f29a3847c0f05dd821 to your computer and use it in GitHub Desktop.
Save rriemann/4568c9257caaf3f29a3847c0f05dd821 to your computer and use it in GitHub Desktop.
Lenovo ThinkPad X1 Carbon 6th gen (X1C6) and openSUSE Tumbleweed notes

Model 20KH-006MMX (with NFC & HDR) notes for stuff I've done this far to get the machine to an usable state.

openSUSE Tumbleweed works ok and touchpad & trackpoint & hibernation works out-of-the-box (not the case with Ubuntu 18.04 LTS).

To test out hibernation just type (after this it will appear in the GNOME menus):

# systemctl hibernate

BIOS

  • Enabled Thunderbold bios assist mode
  • Disabled secure boot to get software fixes working
  • Disabled the memory card reader to save power
  • Disabled fingerprint reader as there are no drivers atm.

Modern sleep (S0i3) is supported in the newer kernels (4.15+ at least) so add acpi.ec_no_wakeup=1 to the kernel parameters.

# vim /etc/default/grub

My line looks like this:

GRUB_CMDLINE_LINUX_DEFAULT="splash=silent resume=/dev/system/swap quiet acpi.ec_no_wakeup=1"

Note: I don't use psmouse.synaptics_intertouch=1 as the mouse devices seem to work without this with the fix below.

Then update grub config with (on Ubuntu it's just update-grub):

# grub2-mkconfig -o /boot/grub2/grub.cfg

The only caveat is that opening the lid won't wake up the machine anymore but pressing the power button works.

See: https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)

Improve power management

Tlp is needed to get better battery life

# zypper in tlp tlp-rdw:

The package tp_smapi_kmp needs to be instlled manually (or by adding a community repo that hopefully keeps it up to date). See: https://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html

Trackpopint resume fix

Trackpoint and the mouse buttons will get disabled after resuming from the suspended state. The elan driver goes missing and this amazing snippet will fix it on every resume:

# vim /usr/lib/systemd/system-sleep/trackpad
#!/bin/sh
if [ "${1}" == "post" ]; then
  echo -n none > /sys/devices/platform/i8042/serio1/drvctl
  sleep 1
  printf "Apply patch to reload Elantech TrackPoint after suspend" | systemd-cat -t "/lib/systemd/system-sleep/trackpad"
  echo -n reconnect > /sys/devices/platform/i8042/serio1/drvctl
fi
# chmod 755 /usr/lib/systemd/system-sleep/trackpad 

The snippet above is taken from this thread (thanks Andy and Giuseppe Castagna!): https://bugzilla.redhat.com/show_bug.cgi?id=1560723#c8

Easy power monitoring

https://bbs.archlinux.org/viewtopic.php?pid=1782826#p1782826

Last night sleep power usage was 0.93W and for a 2h span in the morning 0.6W. Something is still using too much.

CPU temperature throttling

Installed the temporary throttling fix from the Arch wiki instead of the lenovo-throttling-fix script. See the section below for comments.

https://wiki.archlinux.org/index.php?title=Lenovo_ThinkPad_X1_Carbon_(Gen_6)&oldid=529475#Power_management.2FThrottling_issues

WORK IN PROGRESS

CPU throttling fix script

https://github.com/erpalma/lenovo-throttling-fix

To get the script working on SUSE do the following:

NOTE: NOT YET ALL DEPENDENCIES FIGURED OUT so doesn't work yet for me

# zypper install git python-setuptools python-virtualenv python3-devel cairo-devel gobject-introspection-devel
# zypper install --type pattern devel_basis

More tweaks are gathered up here:

https://mensfeld.pl/2018/05/lenovo-thinkpad-x1-carbon-6th-gen-2018-ubuntu-18-04-tweaks/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment