Lenovo ThinkPad Helix 2nd Gen
Hardware | PCI/USB ID | Working? |
---|---|---|
GPU | Yes | |
Sound | Yes | |
WiFi | Partial | |
Bluetooth | Untested | |
Camera | Untested | |
Sensors | Yes | |
Fingerprint reader | No |
This hardware is substantially different from the Lenovo ThinkPad Helix 1st Gen and thus the solutions outlined there are not helpful. Note: the following was tested with the standard ThinkPad Ultrabook keyboard, not the Pro one.
Suspend & Resume
Suspend
In order for s2idle
to work completely, you must update the BIOS to the latest version (1.99 works). Otherwise, you may only be able to suspend-to-idle and resume while docked in the keyboard (detaching to tablet mode while suspended would prevent the device from resuming).
Older versions of the BIOS misreport the suspend capabilities, and thus the system will try to suspend to RAM.
See Power management/Suspend and hibernate#Changing suspend method for manually setting the suspend method.
On the most recent BIOS versions, this is not necessary.
Disable embedded-controller wake-ups
By default, s2idle will still exhibit a significant battery drain while suspended (the batteries will be dead within a few hours). It appears that the device suffers from embedded controller wake-ups. For a more reasonable drain while suspended (i.e. you can leave it suspended for days), you must set the acpi.ec_no_wakeup=1
kernel parameter.
acpi.ec_no_wakeup=1
kernel parameter, the device will not be able to wake up after any lid events (attaching/detaching the tablet from the base). So, it is a trade-off: enable the parameter and enjoy proper suspend behavior as long as you do not remove the device from the base (e.g. to close it), or do not set the parameter and enjoy the ability to close and re-open the laptop but suffer wake-level battery drainage.Workaround for no wifi connection on resume
The WiFi chip in this computer (Intel Wireless 7265) has a problem where it can stop re-connecting after waking from suspend. The system can no longer communicate with the card, so restarting NetworkManager (etc) is not sufficient to regain a connection, nor is unloading and reloading the iwlwifi
module after resuming. A casual internet search reveals this to be a hardware problem that affects Windows users as well.
An effective workaround, however, is to unload the kernel modules before suspending and reloading them upon resuming. For example, using systemd:
/etc/systemd/system/suspend-unload-iwlwifi.service
[Unit] Description=Unload iwlwifi before suspending Before=suspend.target StopWhenUnneeded=no [Service] type=oneshot ExecStart=/usr/bin/bash -c "rmmod iwlmvm && rmmod iwlwifi" [Install] WantedBy=suspend.target
/etc/systemd/system/suspend-unload-iwlwifi.service
[Unit] Description=Unload iwlwifi before suspending Before=suspend.target StopWhenUnneeded=no [Service] type=oneshot ExecStart=/usr/bin/bash -c "lsmod iwlmvm iwlwifi" [Install] WantedBy=suspend.target
ACPI CPU load and Battery Power
Many ACPI Interrupt - Events are triggered on older Kernels making CPU load up to 80% of one Kernel => Battery goes empty within 3 hours. With me this problem was fixed when upgrading to Kernel 5.1rc1. Powertop estimates over 7 hours with a pro keyboard attached. Use tlp package for further improvements.
Sensors
In order to use the sensors (particularly the accelerometer and the
ambient light sensor) in GNOME, you should install the
iio-sensor-proxy package. There is presumably a quirk with this sensor hardware. The effect is that iio-sensor-proxy
loads too early, requiring the service to be restarted before the sensors can be read properly. To fix this, edit the systemd unit so that it starts after GDM (After=gdm.service
; see Systemd#Editing provided units).
If you are using GNOME, a program called tp-helix-orientation-lock enables the use of the "rotation lock" button on the Helix 2, as well as optionally automatically locking/unlocking the screen orientation when docking/undocking the tablet.
Touch Screen
In order to enable multitouch, install xf86-input-wacom and libwacom. By default, xf86-input-wacom handles multitouch, however it is limited to two-finger input. In order to allow true multitouch, you must disable this built-in support. Multitouch events will then be passed on to XServer. To test this, try running
$ xset "Wacom HID 501D Finger touch" Gesture off
To make it permanent, copy
/usr/share/X11/xorg.conf.d/70-wacom.conf
to
/etc/X11/xorg.conf.d/70-wacom.conf
and edit it so the input
entries all contain Option "Gesture" "Off"
.
Touch Pad and Pointing Stick
After detaching and attaching a Pro Keyboard the mouse stops working in gnome. Probably there is a sync problem.
Attempt to load psmouse with "proto=imps" option. To do that, add this line to your /etc/modprobe.d/modprobe.conf
:
/etc/modprobe.d/modprobe.conf
options psmouse proto=imps
You can test this before making it permanent by:
$ modprobe -r psmouse $ modprobe psmouse proto=imps
Graphics
Install xf86-video-intel for graphics acceleration.
Software
Firefox
Touch Screen Scrolling can be activated by the ScrollAnywhere firefox Plugin
Unresolved Issues
- The fingerprint reader is apparently not supported by any driver.
- The speakers make popping sounds.