First off, surprisingly most things works on this! I'm using Ubuntu-Mate 16.04

What works:

  • Keyboard
  • Wifi
  • Bluetooth
  • Ports
  • Brightness
  • Keyboard buttons*
  • Wake/Suspend**
  • Trackpoint**

*Can't swap function buttons or modify FnLk

**Instructions to make work properly below

What you need to fix manually:

  • Trackpoint
  • Suspend/wake with lid close
  • Scroll buttons (trackpoint)

What doesn't work (at the moment)

  • Disabled touchpad(I don't want it and it doesn't work well)
  • Cameras (I have no use for this but may try to fix it at some point)

Fixes

Trackpoint

This doesn't work out of the box at all. You must use quirks mode for usbhid as a boot param.

Modify /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="usbhid.quirks=0x17ef:0x6085:0x40 quiet splash"  

Then update grub: sudo update-grub

Trackpoint scrolling/wheel

xinput --list shows you a list of devices

⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ PRIMAX ThinkPad X1 Tablet Thin Keyboard     id=12   [slave  pointer  (2)]
⎜   ↳ PRIMAX ThinkPad X1 Tablet Thin Keyboard     id=13   [slave  pointer  (2)]
⎜   ↳ Wacom HID 5077 Pen stylus                   id=14   [slave  pointer  (2)]
⎜   ↳ Wacom HID 5077 Finger touch                 id=15   [slave  pointer  (2)]
⎜   ↳ Wacom HID 5077 Pen eraser                   id=20   [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Video Bus                                   id=6    [slave  keyboard (3)]
    ↳ Power Button                                id=7    [slave  keyboard (3)]
    ↳ Sleep Button                                id=8    [slave  keyboard (3)]
    ↳ PRIMAX ThinkPad X1 Tablet Thin Keyboard     id=9    [slave  keyboard (3)]
    ↳ PRIMAX ThinkPad X1 Tablet Thin Keyboard     id=10   [slave  keyboard (3)]
    ↳ PRIMAX ThinkPad X1 Tablet Thin Keyboard     id=11   [slave  keyboard (3)]
    ↳ Intel Virtual Button driver                 id=16   [slave  keyboard (3)]
    ↳ Intel HID events                            id=17   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=18   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                      id=19   [slave  keyboard (3)]

In my case it turned out to be id 13 that needed some xinput changes:

make a file ~/.xsessionrc

#!/bin/bash
xinput --set-prop --type=int --format=8 13 "Evdev Wheel Emulation" 1  
xinput --set-prop --type=int --format=8 13 "Evdev Wheel Emulation Button" 2  

If you want to completely disable the touchpad you can also add xinput --disable 12 (12 was the touchpad which I don't ever use or need) here's a great article about making disable/enable a launcher

Sleep issues

On my tablet suspend worked totally fine, except... it would wake immediately if I closed the lid, even though it would suspend on lid close. I don't exactly know why this is but I found that XHCI wakeup was enabled in /proc/acpi/wakeup.

Easy fix:

Add this to the /etc/rc.local file before exit 0 line

echo XHCI > /proc/acpi/wakeup