Lenovo Thinkpad Helix
Contents |
Model description
Lenovo ThinkPad Helix, 3rd Generation Core i5/i7 This model comes without optical drive,. Has UEFI BIOS with BIOS-legacy fallback mode. Has Windows 8 pre-installed.
Installation method
Due to the fact that there is no optical drive, you need to install Arch from USB stick.
Legacy-BIOS
This procedure is far less involved then UEFI and works perfectly.
In order to turn off UEFI booting you will need to boot into your BIOS and change the boot mode to Legacy. Afterward, follow the Beginner's Guide for standard installation instructions.
UEFI
Installation from UEFI bootable USB works with the default bootloader, so rEFInd is unnecessary. In the BIOS under Startup, set "UEFI/Legacy Boot" to UEFI only. The default partition table (and Windows installation) uses MBR. For UEFI, reformat the disk as GPT.
Booting using an efibootmgr entry works well. The warnings about incompatibility and embedding arguments to do not apply.
Hardware
Almost everything works out of the box except for the wacom screen due to the digitizer; the helix uses the Atmel Atmel maXTouch Digitizer. although this isn't a wacom digitizer it does work with the wacom drivers, you just have to tell it to.
Make sure to install xf86-input-wacom
Wacom
Make sure you check that the screen does in fact use the Atmel digitizer with xinput or lsusb then update the xorg configuration:
/etc/X11/xorg.conf.d/50-wacom.conf
Section "InputClass"
Identifier "Wacom class"
MatchProduct "Wacom|WACOM|Hanwang|PTK-540WL|Atmel"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
EndSection
Section "InputClass"
Identifier "Wacom serial class"
MatchProduct "Serial Wacom Tablet"
Driver "wacom"
EndSection
Section "InputClass"
Identifier "Wacom serial class identifiers"
MatchProduct "WACf|FUJ02e5|FUJ02e7|FUJ02e9"
Driver "wacom"
EndSection
# Waltop tablets
Section "InputClass"
Identifier "Waltop class"
MatchProduct "WALTOP"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
EndSection
# N-Trig Duosense Electromagnetic Digitizer
Section "InputClass"
Identifier "Wacom N-Trig class"
MatchProduct "HID 1b96:0001|N-Trig Pen"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
Option "Button2" "3"
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "stylus"
Option "USB" "on"
Option "Device" "/dev/input/wacom"
Option "Type" "stylus"
Option "Threshold" "5"
Option "Mode" "Relative"
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "eraser"
Option "USB" "on"
Option "Device" "/dev/input/wacom"
Option "Type" "eraser"
Option "Mode" "Relative"
Option "Threshold" "5"
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "cursor"
Option "USB" "on"
Option "Device" "/dev/input/wacom"
Option "Type" "cursor"
Option "Mode" "Relative"
EndSection
Notice that I added Atmel to the MatchProduct entry in the first section. Also notice the three input devices at the bottom stylus, eraser, and cursor.
After a reboot if listing wacom devices comes up empty, refer to Wacom Tablet to manually confugure. Upon rebooting I had a soft link to the proper input in /dev/input/ if setting up manually make sure your device option in the above config points to the proper event.
To list wacom devices run:
xsetwacom --list devices
Once you have that set up and your devices are being listed you should have full wacom functionality including pressure sensitivty. I tested this with xournal for note taking, and mypaint/gimp.
Screen Rotation
The next issue was how to rotate the screen when in tablet modes. Well there are two ways to do this, the first is Magick Rotate an originally Ubuntu based auto rotation utility. It does setup automatic rotation based on events and detaching the screen triggered the rotation.
If you don't want the screen to automatically rotate, you can manually do it through side buttons or an icon using this script:
Screen rotation script
#!/bin/sh
#Gets the current mode of the screen
mode="$(xrandr -q --verbose | grep 'connected' | egrep -o '\) (normal|left|inverted|right) \(' | egrep -o '(normal|left|inverted|right)')"
case "$mode" in
normal)
#toggle rotate to the left
xrandr -o left
xsetwacom set "Atmel Atmel maXTouch Digitizer touch" Rotate ccw
xsetwacom set "Wacom ISDv4 EC Pen stylus" Rotate ccw
xsetwacom set "Wacom ISDv4 EC Pen eraser" Rotate ccw
;;
left)
#toggle rotate to normal
xrandr -o normal
xsetwacom set "Atmel Atmel maXTouch Digitizer touch" Rotate none
xsetwacom set "Wacom ISDv4 EC Pen stylus" Rotate none
xsetwacom set "Wacom ISDv4 EC Pen eraser" Rotate none
;;
esac
First it grabs the current rotation, and will then toggle the state between left and normal states. Feel free to add to this for inverted or right rotations as well.
Using xsetwacom --list devices rename the wacom devices in the script.