Lenovo X1 Yoga Gen 1 Type 20FQ: Touchscreen (touch, pen) not working

New Lenovo X1 Yoga Gen 1. Originally installed openSUSE 13.2 (no Wifi, no touchscreen), then upgraded to Leap 42.1 (direct install did not work, blank screen). Previous device is Lenovo X220T with openSUSE 12.1 through 13.2, everything working with some custom scripts (I generally know what I’m doing).

**Problem: **Touchscreen does not work (pen or touch)

I have tried this with stock kernel from Leap 42.1 (kernel-default-4.1.15-8.1.x86_64), then tried a kernel from kernel:stable (kernel-default-4.4.1-4.1.g4dac1be.x86_64), results are (for touchscreen) the same.

Symptom: xinput and xsetwacom see the touch screen (see output below), but touch does not work, pen does not work. libwacom*-list-local-devices* sees devices, but reports DIFFERENT parameters (my emphasis below). Everything looks fine to me, but nothing works.

I’ve tried toggling (from command line) touch parameters on/off, to no avail. Wacom calibration app (Gnome 3.16) crashes.

(otherwise, this is a nice device, everything else works out of the box)

Any ideas?

xinput:


> xinput --list
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ Wacom Co.,Ltd. Pen and multitouch sensor Finger touch    id=9    [slave  pointer  (2)]
⎜   ↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus    id=10    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                  id=13    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                       id=14    [slave  pointer  (2)]
⎜   ↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen eraser    id=16    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Video Bus                                   id=7    [slave  keyboard (3)]
    ↳ Sleep Button                                id=8    [slave  keyboard (3)]
    ↳ Integrated Camera                           id=11    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=12    [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                      id=15    [slave  keyboard (3)]

xsetwacom:


> xsetwacom --list 
Wacom Co.,Ltd. Pen and multitouch sensor Finger touch    id: 9    type: TOUCH     
Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus    id: 10    type: STYLUS    
Wacom Co.,Ltd. Pen and multitouch sensor Pen eraser    id: 16    type: ERASER    
> xsetwacom --get 9 "all" 
Option "Area" "0 0 12364 6956"
Button: Actions are not supported by xorg.conf. Try shell format (-s) instead.
Button: Actions are not supported by xorg.conf. Try shell format (-s) instead.
Button: Actions are not supported by xorg.conf. Try shell format (-s) instead.
Option "DebugLevel" "0"
Option "CommonDBG" "0"
Option "Suppress" "2"
Option "RawSample" "4"
Option "PressCurve" "0 0 100 100"
Option "Mode" "Absolute"
Property 'Wacom Hover Click' does not exist on device.
**Option "Touch" "on"**
Property 'Wacom Hardware Touch Switch' does not exist on device.
Option "Gesture" "on"
Option "ZoomDistance" "543"
Option "ScrollDistance" "241"
Option "TapTime" "250"
Property 'Wacom Proximity Threshold' does not exist on device.
Option "Rotate" "none"
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Option "Threshold" "0"
Option "Serial" "0"
Property 'Wacom Pressure Recalibration' does not exist on device.

libwacom-list-local-devices:

> /usr/bin/libwacom-list-local-devices[Device]
Name=Wacom Serial Tablet WACf004
DeviceMatch=serial:0000:0000;
Class=ISDV4
Width=0
Height=0
IntegratedIn=Display;System;
Styli=0xfffff;0xffffe;


[Features]
Reversible=false
Stylus=true
Ring=false
Ring2=false
**Touch=false**
TouchSwitch=false
StatusLEDs=
NumStrips=0
Buttons=0

Update:

Using OBS, I upgraded to

  • xf86-input-wacom-0.32.0 (from 0.30)
  • libwacom2-0.18 (from 0.15)

to no avail. The driver still doesn’t seem to know what to do with the additional “mouse*” events:

Excerpt from Xorg.0.log:

     6.533] (II) config/udev: Adding input device Wacom Co.,Ltd. Pen and multitouch sensor Finger (/dev/input/mouse1)     6.533] (II) No input driver specified, ignoring this device.
     6.533] (II) This device may have been added with another device file.
     6.533] (II) config/udev: Adding input device Wacom Co.,Ltd. Pen and multitouch sensor Pen (/dev/input/mouse2)
     6.533] (II) No input driver specified, ignoring this device.
     6.533] (II) This device may have been added with another device file.
     6.533] (II) config/udev: Adding input device Wacom Co.,Ltd. Pen and multitouch sensor Finger (/dev/input/event15)
     6.533] (**) Wacom Co.,Ltd. Pen and multitouch sensor Finger: Applying InputClass "evdev touchscreen catchall"
     6.533] (**) Wacom Co.,Ltd. Pen and multitouch sensor Finger: Applying InputClass "evdev touchscreen catchall"
     6.533] (**) Wacom Co.,Ltd. Pen and multitouch sensor Finger: Applying InputClass "Wacom USB device class"
     6.533] (**) Wacom Co.,Ltd. Pen and multitouch sensor Finger: Applying InputClass "Wacom class"
     6.533] (II) LoadModule: "wacom"
     6.533] (II) Loading /usr/lib64/xorg/modules/input/wacom_drv.so
     6.533] (II) Module wacom: vendor="X.Org Foundation"
     6.533]    compiled for 1.18.1, module version = 0.32.0
     6.534]    ABI class: X.Org XInput driver, version 22.1
     6.534] (II) wacom: Driver for Wacom graphics tablets: PenPartner, Graphire
[snip]
     6.536] (II) Using input driver 'wacom' for 'Wacom Co.,Ltd. Pen and multitouch sensor Finger'
     6.536] (**) Wacom Co.,Ltd. Pen and multitouch sensor Finger: always reports core events
     6.536] (**) Option "Device" "/dev/input/event15"
     6.592] (EE) Wacom Co.,Ltd. Pen and multitouch sensor Finger: Invalid type 'stylus' for this device.
     6.592] (EE) Wacom Co.,Ltd. Pen and multitouch sensor Finger: Invalid type 'eraser' for this device.
     6.592] (EE) Wacom Co.,Ltd. Pen and multitouch sensor Finger: Invalid type 'cursor' for this device.
     6.592] (II) Wacom Co.,Ltd. Pen and multitouch sensor Finger: type not specified, assuming 'touch'.
     6.592] (II) Wacom Co.,Ltd. Pen and multitouch sensor Finger: other types will be automatically added.
     6.592] (--) Wacom Co.,Ltd. Pen and multitouch sensor Finger touch: maxX=12364 maxY=6956 maxZ=0 resX=40000 resY=40000 
     6.592] (II) Wacom Co.,Ltd. Pen and multitouch sensor Finger touch: hotplugging dependent devices.
     6.592] (EE) Wacom Co.,Ltd. Pen and multitouch sensor Finger touch: Invalid type 'stylus' for this device.
     6.592] (EE) Wacom Co.,Ltd. Pen and multitouch sensor Finger touch: Invalid type 'eraser' for this device.
     6.592] (EE) Wacom Co.,Ltd. Pen and multitouch sensor Finger touch: Invalid type 'cursor' for this device.
     6.592] (EE) Wacom Co.,Ltd. Pen and multitouch sensor Finger touch: Invalid type 'pad' for this device.
     6.592] (II) Wacom Co.,Ltd. Pen and multitouch sensor Finger touch: hotplugging completed.
     6.616] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.0/0003:056A:5040.0001/input/input18/event15"
     6.616] (II) XINPUT: Adding extended input device "Wacom Co.,Ltd. Pen and multitouch sensor Finger touch" (type: TOUCH, id 12)
     6.616] (**) Wacom Co.,Ltd. Pen and multitouch sensor Finger touch: (accel) keeping acceleration scheme 1
     6.616] (**) Wacom Co.,Ltd. Pen and multitouch sensor Finger touch: (accel) acceleration profile 0
     6.616] (**) Wacom Co.,Ltd. Pen and multitouch sensor Finger touch: (accel) acceleration factor: 2.000
     6.616] (**) Wacom Co.,Ltd. Pen and multitouch sensor Finger touch: (accel) acceleration threshold: 4
     6.672] (II) config/udev: Adding input device Wacom Co.,Ltd. Pen and multitouch sensor Pen (/dev/input/event16)
     6.672] (**) Wacom Co.,Ltd. Pen and multitouch sensor Pen: Applying InputClass "evdev tablet catchall"
     6.673] (**) Wacom Co.,Ltd. Pen and multitouch sensor Pen: Applying InputCl
     6.673] (**) Wacom Co.,Ltd. Pen and multitouch sensor Pen: Applying InputClass "Wacom USB device class"
     6.673] (**) Wacom Co.,Ltd. Pen and multitouch sensor Pen: Applying InputClass "Wacom class"
     6.673] (II) Using input driver 'wacom' for 'Wacom Co.,Ltd. Pen and multitouch sensor Pen'
     6.673] (**) Wacom Co.,Ltd. Pen and multitouch sensor Pen: always reports core events
     6.673] (**) Option "Device" "/dev/input/event16"
     6.728] (II) Wacom Co.,Ltd. Pen and multitouch sensor Pen: type not specified, assuming 'stylus'.
     6.728] (II) Wacom Co.,Ltd. Pen and multitouch sensor Pen: other types will be automatically added.
     6.728] (--) Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus: using pressure threshold of 27 for button 1
     6.728] (--) Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus: maxX=30912 maxY=17388 maxZ=2047 resX=100000 resY=100000  tilt=enabled
     6.728] (II) Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus: hotplugging dependent devices.
     6.729] (EE) Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus: Invalid type 'cursor' for this device.
     6.729] (EE) Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus: Invalid type 'touch' for this device.
     6.729] (EE) Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus: Invalid type 'pad' for this device.
     6.729] (II) Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus: hotplugging completed.
     6.760] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.1/0003:056A:5040.0002/input/input20/event16"
     6.760] (II) XINPUT: Adding extended input device "Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus" (type: STYLUS, id 13)
     6.761] (**) Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus: (accel) keeping acceleration scheme 1
     6.761] (**) Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus: (accel) acceleration profile 0
     6.761] (**) Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus: (accel) acceleration factor: 2.000
     6.761] (**) Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus: (accel) acceleration threshold: 4
     6.816] (**) Wacom Co.,Ltd. Pen and multitouch sensor Pen eraser: Applying InputClass "evdev tablet catchall"
     6.816] (**) Wacom Co.,Ltd. Pen and multitouch sensor Pen eraser: Applying InputClass "evdev tablet catchall"
     6.816] (**) Wacom Co.,Ltd. Pen and multitouch sensor Pen eraser: Applying InputClass "Wacom USB device class"
[snip]







Still at a loss.

i find the solution for a while.
i think you have install dul os on your x1 yoga,window10 and linux.same with me.the problem maybe is the windows10 change some thing that is not been kunow by linux. i have found the windows10 is not full shutdown,that is for faster startup.
on x1 yoga,the solution is put down the reset hole at back by a needle.

thanks,whish is used!

Did you get it to work? Also, did you have to add special kernel parameters to install Leap 42.1?

From what I have seen elsewhere, to enable touch and pen, you need to install a firmware update (through windows?) and/or do a hard reset.

More info here: http://entrenchant.blogspot.ch/2016/02/dispatches-from-x1-front.html

and there: https://forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/X1-Yoga-Touch-Screen-No-Longer-Working/td-p/2269132